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