contributing.rst doesn't add very much over the extant HACKING.rst, so
move some of the unique bits into HACKING.rst and then link that into
the documentation.
Change-Id: I0530f38eda92f8dd374c0ec224556ace6e679f54
| ... | ... |
@@ -25,23 +25,63 @@ __ contribute_ |
| 25 | 25 |
__ lp_ |
| 26 | 26 |
.. _lp: https://launchpad.net/~devstack |
| 27 | 27 |
|
| 28 |
+The `Gerrit review |
|
| 29 |
+queue <https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z>`__ |
|
| 30 |
+is used for all commits. |
|
| 31 |
+ |
|
| 28 | 32 |
The primary script in DevStack is ``stack.sh``, which performs the bulk of the |
| 29 | 33 |
work for DevStack's use cases. There is a subscript ``functions`` that contains |
| 30 | 34 |
generally useful shell functions and is used by a number of the scripts in |
| 31 | 35 |
DevStack. |
| 32 | 36 |
|
| 33 |
-The ``lib`` directory contains sub-scripts for projects or packages that ``stack.sh`` |
|
| 34 |
-sources to perform much of the work related to those projects. These sub-scripts |
|
| 35 |
-contain configuration defaults and functions to configure, start and stop the project |
|
| 36 |
-or package. These variables and functions are also used by related projects, |
|
| 37 |
-such as Grenade, to manage a DevStack installation. |
|
| 38 |
- |
|
| 39 | 37 |
A number of additional scripts can be found in the ``tools`` directory that may |
| 40 | 38 |
be useful in supporting DevStack installations. Of particular note are ``info.sh`` |
| 41 | 39 |
to collect and report information about the installed system, and ``install_prereqs.sh`` |
| 42 | 40 |
that handles installation of the prerequisite packages for DevStack. It is |
| 43 | 41 |
suitable, for example, to pre-load a system for making a snapshot. |
| 44 | 42 |
|
| 43 |
+Repo Layout |
|
| 44 |
+----------- |
|
| 45 |
+ |
|
| 46 |
+The DevStack repo generally keeps all of the primary scripts at the root |
|
| 47 |
+level. |
|
| 48 |
+ |
|
| 49 |
+``doc`` - Contains the Sphinx source for the documentation. |
|
| 50 |
+``tools/build_docs.sh`` is used to generate the HTML versions of the |
|
| 51 |
+DevStack scripts. A complete doc build can be run with ``tox -edocs``. |
|
| 52 |
+ |
|
| 53 |
+``exercises`` - Contains the test scripts used to sanity-check and |
|
| 54 |
+demonstrate some OpenStack functions. These scripts know how to exit |
|
| 55 |
+early or skip services that are not enabled. |
|
| 56 |
+ |
|
| 57 |
+``extras.d`` - Contains the dispatch scripts called by the hooks in |
|
| 58 |
+``stack.sh``, ``unstack.sh`` and ``clean.sh``. See :doc:`the plugins |
|
| 59 |
+docs <plugins>` for more information. |
|
| 60 |
+ |
|
| 61 |
+``files`` - Contains a variety of otherwise lost files used in |
|
| 62 |
+configuring and operating DevStack. This includes templates for |
|
| 63 |
+configuration files and the system dependency information. This is also |
|
| 64 |
+where image files are downloaded and expanded if necessary. |
|
| 65 |
+ |
|
| 66 |
+``lib`` - Contains the sub-scripts specific to each project. This is |
|
| 67 |
+where the work of managing a project's services is located. Each |
|
| 68 |
+top-level project (Keystone, Nova, etc) has a file here. Additionally |
|
| 69 |
+there are some for system services and project plugins. These |
|
| 70 |
+variables and functions are also used by related projects, such as |
|
| 71 |
+Grenade, to manage a DevStack installation. |
|
| 72 |
+ |
|
| 73 |
+``samples`` - Contains a sample of the local files not included in the |
|
| 74 |
+DevStack repo. |
|
| 75 |
+ |
|
| 76 |
+``tests`` - the DevStack test suite is rather sparse, mostly consisting |
|
| 77 |
+of test of specific fragile functions in the ``functions`` and |
|
| 78 |
+``functions-common`` files. |
|
| 79 |
+ |
|
| 80 |
+``tools`` - Contains a collection of stand-alone scripts. While these |
|
| 81 |
+may reference the top-level DevStack configuration they can generally be |
|
| 82 |
+run alone. There are also some sub-directories to support specific |
|
| 83 |
+environments such as XenServer. |
|
| 84 |
+ |
|
| 45 | 85 |
|
| 46 | 86 |
Scripts |
| 47 | 87 |
------- |
| ... | ... |
@@ -249,6 +289,7 @@ Whitespace Rules |
| 249 | 249 |
|
| 250 | 250 |
Control Structure Rules |
| 251 | 251 |
----------------------- |
| 252 |
+ |
|
| 252 | 253 |
- then should be on the same line as the if |
| 253 | 254 |
- do should be on the same line as the for |
| 254 | 255 |
|
| ... | ... |
@@ -270,6 +311,7 @@ Example:: |
| 270 | 270 |
|
| 271 | 271 |
Variables and Functions |
| 272 | 272 |
----------------------- |
| 273 |
+ |
|
| 273 | 274 |
- functions should be used whenever possible for clarity |
| 274 | 275 |
- functions should use ``local`` variables as much as possible to |
| 275 | 276 |
ensure they are isolated from the rest of the environment |
| 276 | 277 |
deleted file mode 100644 |
| ... | ... |
@@ -1,94 +0,0 @@ |
| 1 |
-============ |
|
| 2 |
-Contributing |
|
| 3 |
-============ |
|
| 4 |
- |
|
| 5 |
-DevStack uses the standard OpenStack contribution process as outlined in |
|
| 6 |
-`the OpenStack developer |
|
| 7 |
-guide <http://docs.openstack.org/infra/manual/developers.html>`__. This |
|
| 8 |
-means that you will need to meet the requirements of the Contribututors |
|
| 9 |
-License Agreement (CLA). If you have already done that for another |
|
| 10 |
-OpenStack project you are good to go. |
|
| 11 |
- |
|
| 12 |
-Things To Know |
|
| 13 |
-============== |
|
| 14 |
- |
|
| 15 |
-| |
|
| 16 |
-| **Where Things Are** |
|
| 17 |
- |
|
| 18 |
-The official DevStack repository is located at |
|
| 19 |
-``git://git.openstack.org/openstack-dev/devstack.git``, replicated from |
|
| 20 |
-the repo maintained by Gerrit. GitHub also has a mirror at |
|
| 21 |
-``git://github.com/openstack-dev/devstack.git``. |
|
| 22 |
- |
|
| 23 |
-The `blueprint <https://blueprints.launchpad.net/devstack>`__ and `bug |
|
| 24 |
-trackers <https://bugs.launchpad.net/devstack>`__ are on Launchpad. It |
|
| 25 |
-should be noted that DevStack generally does not use these as strongly |
|
| 26 |
-as other projects, but we're trying to change that. |
|
| 27 |
- |
|
| 28 |
-The `Gerrit review |
|
| 29 |
-queue <https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z>`__ |
|
| 30 |
-is, however, used for all commits except for the text of this website. |
|
| 31 |
-That should also change in the near future. |
|
| 32 |
- |
|
| 33 |
-| |
|
| 34 |
-| **HACKING.rst** |
|
| 35 |
- |
|
| 36 |
-Like most OpenStack projects, DevStack includes a ``HACKING.rst`` file |
|
| 37 |
-that describes the layout, style and conventions of the project. Because |
|
| 38 |
-``HACKING.rst`` is in the main DevStack repo it is considered |
|
| 39 |
-authoritative. Much of the content on this page is taken from there. |
|
| 40 |
- |
|
| 41 |
-| |
|
| 42 |
-| **bashate Formatting** |
|
| 43 |
- |
|
| 44 |
-Around the time of the OpenStack Havana release we added a tool to do |
|
| 45 |
-style checking in DevStack similar to what pep8/flake8 do for Python |
|
| 46 |
-projects. It is still \_very\_ simplistic, focusing mostly on stray |
|
| 47 |
-whitespace to help prevent -1 on reviews that are otherwise acceptable. |
|
| 48 |
-Oddly enough it is called ``bashate``. It will be expanded to enforce |
|
| 49 |
-some of the documentation rules in comments that are used in formatting |
|
| 50 |
-the script pages for devstack.org and possibly even simple code |
|
| 51 |
-formatting. Run it on the entire project with ``./run_tests.sh``. |
|
| 52 |
- |
|
| 53 |
-Code |
|
| 54 |
-==== |
|
| 55 |
- |
|
| 56 |
-| |
|
| 57 |
-| **Repo Layout** |
|
| 58 |
- |
|
| 59 |
-The DevStack repo generally keeps all of the primary scripts at the root |
|
| 60 |
-level. |
|
| 61 |
- |
|
| 62 |
-``doc`` - Contains the Sphinx source for the documentation. |
|
| 63 |
-``tools/build_docs.sh`` is used to generate the HTML versions of the |
|
| 64 |
-DevStack scripts. A complete doc build can be run with ``tox -edocs``. |
|
| 65 |
- |
|
| 66 |
-``exercises`` - Contains the test scripts used to sanity-check and |
|
| 67 |
-demonstrate some OpenStack functions. These scripts know how to exit |
|
| 68 |
-early or skip services that are not enabled. |
|
| 69 |
- |
|
| 70 |
-``extras.d`` - Contains the dispatch scripts called by the hooks in |
|
| 71 |
-``stack.sh``, ``unstack.sh`` and ``clean.sh``. See :doc:`the plugins |
|
| 72 |
-docs <plugins>` for more information. |
|
| 73 |
- |
|
| 74 |
-``files`` - Contains a variety of otherwise lost files used in |
|
| 75 |
-configuring and operating DevStack. This includes templates for |
|
| 76 |
-configuration files and the system dependency information. This is also |
|
| 77 |
-where image files are downloaded and expanded if necessary. |
|
| 78 |
- |
|
| 79 |
-``lib`` - Contains the sub-scripts specific to each project. This is |
|
| 80 |
-where the work of managing a project's services is located. Each |
|
| 81 |
-top-level project (Keystone, Nova, etc) has a file here. Additionally |
|
| 82 |
-there are some for system services and project plugins. |
|
| 83 |
- |
|
| 84 |
-``samples`` - Contains a sample of the local files not included in the |
|
| 85 |
-DevStack repo. |
|
| 86 |
- |
|
| 87 |
-``tests`` - the DevStack test suite is rather sparse, mostly consisting |
|
| 88 |
-of test of specific fragile functions in the ``functions`` and |
|
| 89 |
-``functions-common`` files. |
|
| 90 |
- |
|
| 91 |
-``tools`` - Contains a collection of stand-alone scripts. While these |
|
| 92 |
-may reference the top-level DevStack configuration they can generally be |
|
| 93 |
-run alone. There are also some sub-directories to support specific |
|
| 94 |
-environments such as XenServer. |
| ... | ... |
@@ -12,7 +12,7 @@ DevStack - an OpenStack Community Production |
| 12 | 12 |
plugins |
| 13 | 13 |
faq |
| 14 | 14 |
changes |
| 15 |
- contributing |
|
| 15 |
+ hacking |
|
| 16 | 16 |
|
| 17 | 17 |
Quick Start |
| 18 | 18 |
----------- |
| ... | ... |
@@ -139,7 +139,7 @@ FAQ |
| 139 | 139 |
Contributing |
| 140 | 140 |
------------ |
| 141 | 141 |
|
| 142 |
-:doc:`Pitching in to make DevStack a better place <contributing>` |
|
| 142 |
+:doc:`Pitching in to make DevStack a better place <hacking>` |
|
| 143 | 143 |
|
| 144 | 144 |
Code |
| 145 | 145 |
==== |