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 |
==== |