Remove some old discussions that no longer seem relevant and cleanup a
few other points.
Change-Id: I175ddaf9362bf48d35b0e648904eeb21bdc3c793
| ... | ... |
@@ -10,36 +10,21 @@ General Questions |
| 10 | 10 |
================= |
| 11 | 11 |
|
| 12 | 12 |
Q: Can I use DevStack for production? |
| 13 |
- A: No. We mean it. Really. DevStack makes some implementation |
|
| 14 |
- choices that are not appropriate for production deployments. We |
|
| 15 |
- warned you! |
|
| 16 |
-Q: Then why selinux in enforcing mode? |
|
| 17 |
- A: That is the default on current Fedora and RHEL releases. DevStack |
|
| 18 |
- has (rightly so) a bad reputation for its security practices; it has |
|
| 19 |
- always been meant as a development tool first and system integration |
|
| 20 |
- later. This is changing as the security issues around OpenStack's |
|
| 21 |
- use of root (for example) have been tightened and developers need to |
|
| 22 |
- be better equipped to work in these environments. ``stack.sh``'s use |
|
| 23 |
- of root is primarily to support the activities that would be handled |
|
| 24 |
- by packaging in "real" deployments. To remove additional protections |
|
| 25 |
- that will be desired/required in production would be a step |
|
| 26 |
- backward. |
|
| 27 |
-Q: But selinux is disabled in RHEL! |
|
| 28 |
- A: Today it is, yes. That is a specific exception that certain |
|
| 29 |
- DevStack contributors fought strongly against. The primary reason it |
|
| 30 |
- was allowed was to support using RHEL6 as the Python 2.6 test |
|
| 31 |
- platform and that took priority time-wise. This will not be the case |
|
| 32 |
- with RHEL 7. |
|
| 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 |
+ |
|
| 33 | 22 |
Q: Why a shell script, why not chef/puppet/... |
| 34 | 23 |
A: The script is meant to be read by humans (as well as ran by |
| 35 | 24 |
computers); it is the primary documentation after all. Using a |
| 36 | 25 |
recipe system requires everyone to agree and understand chef or |
| 37 | 26 |
puppet. |
| 38 |
-Q: Why not use Crowbar? |
|
| 39 |
- A: DevStack is optimized for documentation & developers. As some of |
|
| 40 |
- us use `Crowbar <https://github.com/dellcloudedge/crowbar>`__ for |
|
| 41 |
- production deployments, we hope developers documenting how they |
|
| 42 |
- setup systems for new features supports projects like Crowbar. |
|
| 27 |
+ |
|
| 43 | 28 |
Q: I'd like to help! |
| 44 | 29 |
A: That isn't a question, but please do! The source for DevStack is |
| 45 | 30 |
at |
| ... | ... |
@@ -49,27 +34,23 @@ Q: I'd like to help! |
| 49 | 49 |
follow the usual process as described in the `developer |
| 50 | 50 |
guide <http://docs.openstack.org/infra/manual/developers.html>`__. This Sphinx |
| 51 | 51 |
documentation is housed in the doc directory. |
| 52 |
+ |
|
| 52 | 53 |
Q: Why not use packages? |
| 53 | 54 |
A: Unlike packages, DevStack leaves your cloud ready to develop - |
| 54 | 55 |
checkouts of the code and services running in screen. However, many |
| 55 | 56 |
people are doing the hard work of packaging and recipes for |
| 56 |
- production deployments. We hope this script serves as a way to |
|
| 57 |
- communicate configuration changes between developers and packagers. |
|
| 57 |
+ production deployments. |
|
| 58 |
+ |
|
| 58 | 59 |
Q: Why isn't $MY\_FAVORITE\_DISTRO supported? |
| 59 | 60 |
A: DevStack is meant for developers and those who want to see how |
| 60 | 61 |
OpenStack really works. DevStack is known to run on the |
| 61 | 62 |
distro/release combinations listed in ``README.md``. DevStack is |
| 62 | 63 |
only supported on releases other than those documented in |
| 63 | 64 |
``README.md`` on a best-effort basis. |
| 64 |
-Q: What about Fedora/RHEL/CentOS? |
|
| 65 |
- A: Fedora and CentOS/RHEL are supported via rpm dependency files and |
|
| 66 |
- specific checks in ``stack.sh``. Support will follow the pattern set |
|
| 67 |
- with the Ubuntu testing, i.e. only a single release of the distro |
|
| 68 |
- will receive regular testing, others will be handled on a |
|
| 69 |
- best-effort basis. |
|
| 70 |
-Q: Are there any differences between Ubuntu and Fedora support? |
|
| 71 |
- A: Neutron is not fully supported prior to Fedora 18 due lack of |
|
| 72 |
- OpenVSwitch packages. |
|
| 65 |
+ |
|
| 66 |
+Q: Are there any differences between Ubuntu and Centos/Fedora support? |
|
| 67 |
+ A: Both should work well and are tested by DevStack CI. |
|
| 68 |
+ |
|
| 73 | 69 |
Q: Why can't I use another shell? |
| 74 | 70 |
A: DevStack now uses some specific bash-ism that require Bash 4, such |
| 75 | 71 |
as associative arrays. Simple compatibility patches have been accepted |
| ... | ... |
@@ -77,26 +58,23 @@ Q: Why can't I use another shell? |
| 77 | 77 |
compatibility patches will be considered except for shells matching |
| 78 | 78 |
the array functionality as it is very ingrained in the repo and project |
| 79 | 79 |
management. |
| 80 |
-Q: But, but, can't I test on OS/X? |
|
| 81 |
- A: Yes, even you, core developer who complained about this, needs to |
|
| 82 |
- install bash 4 via homebrew to keep running tests on OS/X. Get a Real |
|
| 83 |
- Operating System. (For most of you who don't know, I am referring to |
|
| 84 |
- myself.) |
|
| 80 |
+ |
|
| 81 |
+Q: Can I test on OS/X? |
|
| 82 |
+ A: Some people have success with bash 4 installed via |
|
| 83 |
+ homebrew to keep running tests on OS/X. |
|
| 85 | 84 |
|
| 86 | 85 |
Operation and Configuration |
| 87 | 86 |
=========================== |
| 88 | 87 |
|
| 89 | 88 |
Q: Can DevStack handle a multi-node installation? |
| 90 |
- A: Indirectly, yes. You run DevStack on each node with the |
|
| 91 |
- appropriate configuration in ``local.conf``. The primary |
|
| 92 |
- considerations are turning off the services not required on the |
|
| 93 |
- secondary nodes, making sure the passwords match and setting the |
|
| 94 |
- various API URLs to the right place. |
|
| 89 |
+ A: Yes, see :doc:`multinode lab guide <guides/multinode-lab>` |
|
| 90 |
+ |
|
| 95 | 91 |
Q: How can I document the environment that DevStack is using? |
| 96 | 92 |
A: DevStack includes a script (``tools/info.sh``) that gathers the |
| 97 | 93 |
versions of the relevant installed apt packages, pip packages and |
| 98 | 94 |
git repos. This is a good way to verify what Python modules are |
| 99 | 95 |
installed. |
| 96 |
+ |
|
| 100 | 97 |
Q: How do I turn off a service that is enabled by default? |
| 101 | 98 |
A: Services can be turned off by adding ``disable_service xxx`` to |
| 102 | 99 |
``local.conf`` (using ``n-vol`` in this example): |
| ... | ... |
@@ -113,31 +91,22 @@ Q: Is enabling a service that defaults to off done with the reverse of the above |
| 113 | 113 |
enable_service qpid |
| 114 | 114 |
|
| 115 | 115 |
Q: How do I run a specific OpenStack milestone? |
| 116 |
- A: OpenStack milestones have tags set in the git repo. Set the appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. Swift is on its own release schedule so pick a tag in the Swift repo that is just before the milestone release. For example: |
|
| 116 |
+ A: OpenStack milestones have tags set in the git repo. Set the |
|
| 117 |
+ appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. |
|
| 118 |
+ Swift is on its own release schedule so pick a tag in the Swift repo |
|
| 119 |
+ that is just before the milestone release. For example: |
|
| 117 | 120 |
|
| 118 | 121 |
:: |
| 119 | 122 |
|
| 120 | 123 |
[[local|localrc]] |
| 121 |
- GLANCE_BRANCH=stable/juno |
|
| 122 |
- HORIZON_BRANCH=stable/juno |
|
| 123 |
- KEYSTONE_BRANCH=stable/juno |
|
| 124 |
- NOVA_BRANCH=stable/juno |
|
| 125 |
- GLANCE_BRANCH=stable/juno |
|
| 126 |
- NEUTRON_BRANCH=stable/juno |
|
| 127 |
- SWIFT_BRANCH=2.2.1 |
|
| 128 |
- |
|
| 129 |
-Q: Why not use [STRIKEOUT:``tools/pip-requires``]\ ``requirements.txt`` to grab project dependencies? |
|
| 130 |
- [STRIKEOUT:The majority of deployments will use packages to install |
|
| 131 |
- OpenStack that will have distro-based packages as dependencies. |
|
| 132 |
- DevStack installs as many of these Python packages as possible to |
|
| 133 |
- mimic the expected production environment.] Certain Linux |
|
| 134 |
- distributions have a 'lack of workaround' in their Python |
|
| 135 |
- configurations that installs vendor packaged Python modules and |
|
| 136 |
- pip-installed modules to the SAME DIRECTORY TREE. This is causing |
|
| 137 |
- heartache and moving us in the direction of installing more modules |
|
| 138 |
- from PyPI than vendor packages. However, that is only being done as |
|
| 139 |
- necessary as the packaging needs to catch up to the development |
|
| 140 |
- cycle anyway so this is kept to a minimum. |
|
| 124 |
+ GLANCE_BRANCH=stable/kilo |
|
| 125 |
+ HORIZON_BRANCH=stable/kilo |
|
| 126 |
+ KEYSTONE_BRANCH=stable/kilo |
|
| 127 |
+ NOVA_BRANCH=stable/kilo |
|
| 128 |
+ GLANCE_BRANCH=stable/kilo |
|
| 129 |
+ NEUTRON_BRANCH=stable/kilo |
|
| 130 |
+ SWIFT_BRANCH=2.3.0 |
|
| 131 |
+ |
|
| 141 | 132 |
Q: What can I do about RabbitMQ not wanting to start on my fresh new VM? |
| 142 | 133 |
A: This is often caused by ``erlang`` not being happy with the |
| 143 | 134 |
hostname resolving to a reachable IP address. Make sure your |
| ... | ... |
@@ -145,6 +114,7 @@ Q: What can I do about RabbitMQ not wanting to start on my fresh new VM? |
| 145 | 145 |
in ``/etc/hosts`` is often good enough for a single-node |
| 146 | 146 |
installation. And in an extreme case, use ``clean.sh`` to eradicate |
| 147 | 147 |
it and try again. |
| 148 |
+ |
|
| 148 | 149 |
Q: How can I set up Heat in stand-alone configuration? |
| 149 | 150 |
A: Configure ``local.conf`` thusly: |
| 150 | 151 |
|