blob: 73069e788b09a93799373c3b1592d658623e8393 [file] [log] [blame]
Sean M. Collins09e550c2014-10-21 11:40:08 -04001`DevStack </>`__
2
3- `Overview <overview.html>`__
4- `Changes <changes.html>`__
5- `FAQ <faq.html>`__
6- `git.openstack.org <https://git.openstack.org/cgit/openstack-dev/devstack>`__
7- `Gerrit <https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z>`__
8
9Contributing Help us help you
10-----------------------------
11
12DevStack uses the standard OpenStack contribution process as outlined in
13`the OpenStack wiki 'How To
14Contribute' <https://wiki.openstack.org/wiki/How_To_Contribute>`__. This
15means that you will need to meet the requirements of the Contribututors
16License Agreement (CLA). If you have already done that for another
17OpenStack project you are good to go.
18
19Things To Know
20~~~~~~~~~~~~~~
21
22|
23| **Where Things Are**
24
25The official DevStack repository is located at
26``git://git.openstack.org/openstack-dev/devstack.git``, replicated from
27the repo maintained by Gerrit. GitHub also has a mirror at
28``git://github.com/openstack-dev/devstack.git``.
29
30The `blueprint <https://blueprints.launchpad.net/devstack>`__ and `bug
31trackers <https://bugs.launchpad.net/devstack>`__ are on Launchpad. It
32should be noted that DevStack generally does not use these as strongly
33as other projects, but we're trying to change that.
34
35The `Gerrit review
36queue <https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z>`__
37is, however, used for all commits except for the text of this website.
38That should also change in the near future.
39
40|
41| **HACKING.rst**
42
43Like most OpenStack projects, DevStack includes a ``HACKING.rst`` file
44that describes the layout, style and conventions of the project. Because
45``HACKING.rst`` is in the main DevStack repo it is considered
46authoritative. Much of the content on this page is taken from there.
47
48|
49| **bashate Formatting**
50
51Around the time of the OpenStack Havana release we added a tool to do
52style checking in DevStack similar to what pep8/flake8 do for Python
53projects. It is still \_very\_ simplistic, focusing mostly on stray
54whitespace to help prevent -1 on reviews that are otherwise acceptable.
55Oddly enough it is called ``bashate``. It will be expanded to enforce
56some of the documentation rules in comments that are used in formatting
57the script pages for devstack.org and possibly even simple code
58formatting. Run it on the entire project with ``./run_tests.sh``.
59
60Code
61~~~~
62
63|
64| **Repo Layout**
65
66The DevStack repo generally keeps all of the primary scripts at the root
67level.
68
69``docs`` - Contains the source for this website. It is built using
70``tools/build_docs.sh``.
71
72``exercises`` - Contains the test scripts used to validate and
73demonstrate some OpenStack functions. These scripts know how to exit
74early or skip services that are not enabled.
75
76``extras.d`` - Contains the dispatch scripts called by the hooks in
77``stack.sh``, ``unstack.sh`` and ``clean.sh``. See `the plugins
78docs <plugins.html>`__ for more information.
79
80``files`` - Contains a variety of otherwise lost files used in
81configuring and operating DevStack. This includes templates for
82configuration files and the system dependency information. This is also
83where image files are downloaded and expanded if necessary.
84
85``lib`` - Contains the sub-scripts specific to each project. This is
86where the work of managing a project's services is located. Each
87top-level project (Keystone, Nova, etc) has a file here. Additionally
88there are some for system services and project plugins.
89
90``samples`` - Contains a sample of the local files not included in the
91DevStack repo.
92
93``tests`` - the DevStack test suite is rather sparse, mostly consisting
94of test of specific fragile functions in the ``functions`` file.
95
96``tools`` - Contains a collection of stand-alone scripts, some of which
97have aged a bit (does anyone still do ramdisk installs?). While these
98may reference the top-level DevStack configuration they can generally be
99run alone. There are also some sub-directories to support specific
100environments such as XenServer.