Move to a section-based format, and add a TOC so we can see an
overview of the questions.
Change-Id: Ie480f2ab759a5a7081d4dc7d2491b44a85b6503a
| ... | ... |
@@ -2,99 +2,120 @@ |
| 2 | 2 |
FAQ |
| 3 | 3 |
=== |
| 4 | 4 |
|
| 5 |
-- `General Questions <#general>`__ |
|
| 6 |
-- `Operation and Configuration <#ops_conf>`__ |
|
| 7 |
-- `Miscellaneous <#misc>`__ |
|
| 5 |
+.. contents:: |
|
| 6 |
+ :local: |
|
| 8 | 7 |
|
| 9 | 8 |
General Questions |
| 10 | 9 |
================= |
| 11 | 10 |
|
| 12 |
-Q: Can I use DevStack for production? |
|
| 13 |
- |
|
| 14 |
- A: DevStack is targeted at developers and CI systems to use the |
|
| 15 |
- raw upstream code. It makes many choices that are not appropriate |
|
| 16 |
- for production systems. |
|
| 17 |
- |
|
| 18 |
- Your best choice is probably to choose a `distribution of |
|
| 19 |
- OpenStack |
|
| 20 |
- <https://www.openstack.org/marketplace/distros>`__. |
|
| 21 |
- |
|
| 22 |
-Q: Why a shell script, why not chef/puppet/... |
|
| 23 |
- A: The script is meant to be read by humans (as well as ran by |
|
| 24 |
- computers); it is the primary documentation after all. Using a |
|
| 25 |
- recipe system requires everyone to agree and understand chef or |
|
| 26 |
- puppet. |
|
| 27 |
- |
|
| 28 |
-Q: I'd like to help! |
|
| 29 |
- A: That isn't a question, but please do! The source for DevStack is |
|
| 30 |
- at |
|
| 31 |
- `git.openstack.org <https://git.openstack.org/cgit/openstack-dev/devstack>`__ |
|
| 32 |
- and bug reports go to |
|
| 33 |
- `LaunchPad <http://bugs.launchpad.net/devstack/>`__. Contributions |
|
| 34 |
- follow the usual process as described in the `developer |
|
| 35 |
- guide <http://docs.openstack.org/infra/manual/developers.html>`__. This Sphinx |
|
| 36 |
- documentation is housed in the doc directory. |
|
| 37 |
- |
|
| 38 |
-Q: Why not use packages? |
|
| 39 |
- A: Unlike packages, DevStack leaves your cloud ready to develop - |
|
| 40 |
- checkouts of the code and services running in screen. However, many |
|
| 41 |
- people are doing the hard work of packaging and recipes for |
|
| 42 |
- production deployments. |
|
| 43 |
- |
|
| 44 |
-Q: Why isn't $MY\_FAVORITE\_DISTRO supported? |
|
| 45 |
- A: DevStack is meant for developers and those who want to see how |
|
| 46 |
- OpenStack really works. DevStack is known to run on the |
|
| 47 |
- distro/release combinations listed in ``README.md``. DevStack is |
|
| 48 |
- only supported on releases other than those documented in |
|
| 49 |
- ``README.md`` on a best-effort basis. |
|
| 50 |
- |
|
| 51 |
-Q: Are there any differences between Ubuntu and Centos/Fedora support? |
|
| 52 |
- A: Both should work well and are tested by DevStack CI. |
|
| 53 |
- |
|
| 54 |
-Q: Why can't I use another shell? |
|
| 55 |
- A: DevStack now uses some specific bash-ism that require Bash 4, such |
|
| 56 |
- as associative arrays. Simple compatibility patches have been accepted |
|
| 57 |
- in the past when they are not complex, at this point no additional |
|
| 58 |
- compatibility patches will be considered except for shells matching |
|
| 59 |
- the array functionality as it is very ingrained in the repo and project |
|
| 60 |
- management. |
|
| 61 |
- |
|
| 62 |
-Q: Can I test on OS/X? |
|
| 63 |
- A: Some people have success with bash 4 installed via |
|
| 64 |
- homebrew to keep running tests on OS/X. |
|
| 11 |
+Can I use DevStack for production? |
|
| 12 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 13 |
+ |
|
| 14 |
+DevStack is targeted at developers and CI systems to use the raw |
|
| 15 |
+upstream code. It makes many choices that are not appropriate for |
|
| 16 |
+production systems. |
|
| 17 |
+ |
|
| 18 |
+Your best choice is probably to choose a `distribution of OpenStack |
|
| 19 |
+<https://www.openstack.org/marketplace/distros/distribution>`__. |
|
| 20 |
+ |
|
| 21 |
+Why a shell script, why not chef/puppet/... |
|
| 22 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 23 |
+ |
|
| 24 |
+The script is meant to be read by humans (as well as ran by |
|
| 25 |
+computers); it is the primary documentation after all. Using a recipe |
|
| 26 |
+system requires everyone to agree and understand chef or puppet. |
|
| 27 |
+ |
|
| 28 |
+I'd like to help! |
|
| 29 |
+~~~~~~~~~~~~~~~~~ |
|
| 30 |
+ |
|
| 31 |
+That isn't a question, but please do! The source for DevStack is at |
|
| 32 |
+`git.openstack.org |
|
| 33 |
+<https://git.openstack.org/cgit/openstack-dev/devstack>`__ and bug |
|
| 34 |
+reports go to `LaunchPad |
|
| 35 |
+<http://bugs.launchpad.net/devstack/>`__. Contributions follow the |
|
| 36 |
+usual process as described in the `developer guide |
|
| 37 |
+<http://docs.openstack.org/infra/manual/developers.html>`__. This |
|
| 38 |
+Sphinx documentation is housed in the doc directory. |
|
| 39 |
+ |
|
| 40 |
+Why not use packages? |
|
| 41 |
+~~~~~~~~~~~~~~~~~~~~~ |
|
| 42 |
+ |
|
| 43 |
+Unlike packages, DevStack leaves your cloud ready to develop - |
|
| 44 |
+checkouts of the code and services running in screen. However, many |
|
| 45 |
+people are doing the hard work of packaging and recipes for production |
|
| 46 |
+deployments. |
|
| 47 |
+ |
|
| 48 |
+Why isn't $MY\_FAVORITE\_DISTRO supported? |
|
| 49 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 50 |
+ |
|
| 51 |
+DevStack is meant for developers and those who want to see how |
|
| 52 |
+OpenStack really works. DevStack is known to run on the distro/release |
|
| 53 |
+combinations listed in ``README.md``. DevStack is only supported on |
|
| 54 |
+releases other than those documented in ``README.md`` on a best-effort |
|
| 55 |
+basis. |
|
| 56 |
+ |
|
| 57 |
+Are there any differences between Ubuntu and Centos/Fedora support? |
|
| 58 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 59 |
+ |
|
| 60 |
+Both should work well and are tested by DevStack CI. |
|
| 61 |
+ |
|
| 62 |
+Why can't I use another shell? |
|
| 63 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 64 |
+ |
|
| 65 |
+DevStack now uses some specific bash-ism that require Bash 4, such as |
|
| 66 |
+associative arrays. Simple compatibility patches have been accepted in |
|
| 67 |
+the past when they are not complex, at this point no additional |
|
| 68 |
+compatibility patches will be considered except for shells matching |
|
| 69 |
+the array functionality as it is very ingrained in the repo and |
|
| 70 |
+project management. |
|
| 71 |
+ |
|
| 72 |
+Can I test on OS/X? |
|
| 73 |
+~~~~~~~~~~~~~~~~~~~ |
|
| 74 |
+ |
|
| 75 |
+Some people have success with bash 4 installed via homebrew to keep |
|
| 76 |
+running tests on OS/X. |
|
| 65 | 77 |
|
| 66 | 78 |
Operation and Configuration |
| 67 | 79 |
=========================== |
| 68 | 80 |
|
| 69 |
-Q: Can DevStack handle a multi-node installation? |
|
| 70 |
- A: Yes, see :doc:`multinode lab guide <guides/multinode-lab>` |
|
| 81 |
+Can DevStack handle a multi-node installation? |
|
| 82 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 83 |
+ |
|
| 84 |
+Yes, see :doc:`multinode lab guide <guides/multinode-lab>` |
|
| 85 |
+ |
|
| 86 |
+How can I document the environment that DevStack is using? |
|
| 87 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 71 | 88 |
|
| 72 |
-Q: How can I document the environment that DevStack is using? |
|
| 73 |
- A: DevStack includes a script (``tools/info.sh``) that gathers the |
|
| 74 |
- versions of the relevant installed apt packages, pip packages and |
|
| 75 |
- git repos. This is a good way to verify what Python modules are |
|
| 76 |
- installed. |
|
| 89 |
+DevStack includes a script (``tools/info.sh``) that gathers the |
|
| 90 |
+versions of the relevant installed apt packages, pip packages and git |
|
| 91 |
+repos. This is a good way to verify what Python modules are |
|
| 92 |
+installed. |
|
| 77 | 93 |
|
| 78 |
-Q: How do I turn off a service that is enabled by default? |
|
| 79 |
- A: Services can be turned off by adding ``disable_service xxx`` to |
|
| 80 |
- ``local.conf`` (using ``n-vol`` in this example): |
|
| 94 |
+How do I turn off a service that is enabled by default? |
|
| 95 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 96 |
+ |
|
| 97 |
+Services can be turned off by adding ``disable_service xxx`` to |
|
| 98 |
+``local.conf`` (using ``n-vol`` in this example): |
|
| 81 | 99 |
|
| 82 | 100 |
:: |
| 83 | 101 |
|
| 84 | 102 |
disable_service n-vol |
| 85 | 103 |
|
| 86 |
-Q: Is enabling a service that defaults to off done with the reverse of the above? |
|
| 87 |
- A: Of course! |
|
| 104 |
+Is enabling a service that defaults to off done with the reverse of the above? |
|
| 105 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 106 |
+Of course! |
|
| 88 | 107 |
|
| 89 | 108 |
:: |
| 90 | 109 |
|
| 91 | 110 |
enable_service qpid |
| 92 | 111 |
|
| 93 |
-Q: How do I run a specific OpenStack milestone? |
|
| 94 |
- A: OpenStack milestones have tags set in the git repo. Set the |
|
| 95 |
- appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. |
|
| 96 |
- Swift is on its own release schedule so pick a tag in the Swift repo |
|
| 97 |
- that is just before the milestone release. For example: |
|
| 112 |
+How do I run a specific OpenStack milestone? |
|
| 113 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 114 |
+ |
|
| 115 |
+OpenStack milestones have tags set in the git repo. Set the |
|
| 116 |
+appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. |
|
| 117 |
+Swift is on its own release schedule so pick a tag in the Swift repo |
|
| 118 |
+that is just before the milestone release. For example: |
|
| 98 | 119 |
|
| 99 | 120 |
:: |
| 100 | 121 |
|
| ... | ... |
@@ -107,16 +128,16 @@ Q: How do I run a specific OpenStack milestone? |
| 107 | 107 |
NEUTRON_BRANCH=stable/kilo |
| 108 | 108 |
SWIFT_BRANCH=2.3.0 |
| 109 | 109 |
|
| 110 |
-Q: What can I do about RabbitMQ not wanting to start on my fresh new VM? |
|
| 111 |
- A: This is often caused by ``erlang`` not being happy with the |
|
| 112 |
- hostname resolving to a reachable IP address. Make sure your |
|
| 113 |
- hostname resolves to a working IP address; setting it to 127.0.0.1 |
|
| 114 |
- in ``/etc/hosts`` is often good enough for a single-node |
|
| 115 |
- installation. And in an extreme case, use ``clean.sh`` to eradicate |
|
| 116 |
- it and try again. |
|
| 110 |
+What can I do about RabbitMQ not wanting to start on my fresh new VM? |
|
| 111 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 112 |
+ |
|
| 113 |
+This is often caused by ``erlang`` not being happy with the hostname |
|
| 114 |
+resolving to a reachable IP address. Make sure your hostname resolves |
|
| 115 |
+to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is |
|
| 116 |
+often good enough for a single-node installation. And in an extreme |
|
| 117 |
+case, use ``clean.sh`` to eradicate it and try again. |
|
| 117 | 118 |
|
| 118 |
-Q: How can I set up Heat in stand-alone configuration? |
|
| 119 |
- A: Configure ``local.conf`` thusly: |
|
| 119 |
+Configure ``local.conf`` thusly: |
|
| 120 | 120 |
|
| 121 | 121 |
:: |
| 122 | 122 |
|
| ... | ... |
@@ -126,22 +147,25 @@ Q: How can I set up Heat in stand-alone configuration? |
| 126 | 126 |
KEYSTONE_SERVICE_HOST=<keystone-host> |
| 127 | 127 |
KEYSTONE_AUTH_HOST=<keystone-host> |
| 128 | 128 |
|
| 129 |
-Q: Why are my configuration changes ignored? |
|
| 130 |
- A: You may have run into the package prerequisite installation |
|
| 131 |
- timeout. ``tools/install_prereqs.sh`` has a timer that skips the |
|
| 132 |
- package installation checks if it was run within the last |
|
| 133 |
- ``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set |
|
| 134 |
- ``FORCE_PREREQ=1`` and the package checks will never be skipped. |
|
| 129 |
+Why are my configuration changes ignored? |
|
| 130 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 131 |
+ |
|
| 132 |
+You may have run into the package prerequisite installation |
|
| 133 |
+timeout. ``tools/install_prereqs.sh`` has a timer that skips the |
|
| 134 |
+package installation checks if it was run within the last |
|
| 135 |
+``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set |
|
| 136 |
+``FORCE_PREREQ=1`` and the package checks will never be skipped. |
|
| 135 | 137 |
|
| 136 | 138 |
Miscellaneous |
| 137 | 139 |
============= |
| 138 | 140 |
|
| 139 |
-Q: ``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages. |
|
| 140 |
- A: [Another not-a-question] No it isn't. Stuff in there is to |
|
| 141 |
- correct problems in an environment that need to be fixed elsewhere |
|
| 142 |
- or may/will be fixed in a future release. In the case of |
|
| 143 |
- ``httplib2`` and ``prettytable`` specific problems with specific |
|
| 144 |
- versions are being worked around. If later releases have those |
|
| 145 |
- problems than we'll add them to the script. Knowing about the broken |
|
| 146 |
- future releases is valuable rather than polling to see if it has |
|
| 147 |
- been fixed. |
|
| 141 |
+``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages. |
|
| 142 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 143 |
+ |
|
| 144 |
+Stuff in there is to correct problems in an environment that need to |
|
| 145 |
+be fixed elsewhere or may/will be fixed in a future release. In the |
|
| 146 |
+case of ``httplib2`` and ``prettytable`` specific problems with |
|
| 147 |
+specific versions are being worked around. If later releases have |
|
| 148 |
+those problems than we'll add them to the script. Knowing about the |
|
| 149 |
+broken future releases is valuable rather than polling to see if it |
|
| 150 |
+has been fixed. |