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