Browse code

Move contributing into HACKING

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

Ian Wienand authored on 2015/03/20 10:16:28
Showing 4 changed files
... ...
@@ -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.
95 1
new file mode 100644
... ...
@@ -0,0 +1 @@
0
+.. include:: ../../HACKING.rst
... ...
@@ -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
 ====