summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
blob: 9225901eca3e13053ed3df82584facfd37548674 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
OpenStack openrc file
#####################

contributor guidelines
^^^^^^^^^^^^^^^^^^^^^^

Filing Bugs
-----------

Bugs should be filed on Launchpad, not GitHub: "https://bugs.launchpad.net/openstack-ansible"


When submitting a bug, or working on a bug, please ensure the following criteria are met:
    * The description clearly states or describes the original problem or root cause of the problem.
    * Include historical information on how the problem was identified.
    * Any relevant logs are included.
    * The provided information should be totally self-contained. External access to web services/sites should not be needed.
    * Steps to reproduce the problem if possible.


Submitting Code
---------------

Changes to the project should be submitted for review via the Gerrit tool, following
the workflow documented at: "https://docs.openstack.org/infra/manual/developers.html#development-workflow"

Pull requests submitted through GitHub will be ignored and closed without regard.

If you wish to test your changes locally prior to submitting them for review
you can use the ``Vagrantfile`` included in the root of this repository. It
aims to replicate the gate check testing that will be done by OpenStack CI
once your review has been submitted.

To run tests:

.. code-block:: shell-session

        # vagrant up

The Vagrant box will run all tests and report status in the output. If you
need to iterate through a fix/test cycle, tests can be re-run in a running
Vagrant box with:

.. code-block:: shell-session

        # vagrant provision

Extra
-----

Tags:
    If it's a bug that needs fixing in a branch in addition to Master, add a '\<release\>-backport-potential' tag (eg ``juno-backport-potential``). There are predefined tags that will autocomplete.

Status:
    Please leave this alone, it should be New till someone triages the issue.

Importance:
    Should only be touched if it is a Blocker/Gating issue. If it is, please set to High, and only use Critical if you have found a bug that can take down whole infrastructures.


Style guide
-----------

When creating tasks and other roles for use in Ansible please create then using the YAML dictionary format.

Example YAML dictionary format:
    .. code-block:: yaml

        - name: The name of the tasks
          module_name:
            thing1: "some-stuff"
            thing2: "some-other-stuff"
          tags:
            - some-tag
            - some-other-tag


Example **NOT** in YAML dictionary format:
    .. code-block:: yaml

        - name: The name of the tasks
          module_name: thing1="some-stuff" thing2="some-other-stuff"
          tags:
            - some-tag
            - some-other-tag


Usage of the ">" and "|" operators should be limited to Ansible conditionals and command modules such as the ansible ``shell`` module.


Issues
------

When submitting an issue, or working on an issue please ensure the following criteria are met:
    * The description clearly states or describes the original problem or root cause of the problem.
    * Include historical information on how the problem was identified.
    * Any relevant logs are included.
    * If the issue is a bug that needs fixing in a branch other than Master, add the 'backport potential' tag TO THE ISSUE (not the PR).
    * The provided information should be totally self-contained. External access to web services/sites should not be needed.
    * If the issue is needed for a hotfix release, add the 'expedite' label.
    * Steps to reproduce the problem if possible.