blob: 7793d8eb688ff8dae8bc373228c3676f5c274287 [file] [log] [blame]
Dean Troyer0986a7b2014-10-29 22:08:13 -05001===
2FAQ
3===
Sean M. Collins09e550c2014-10-21 11:40:08 -04004
Ian Wienand2f27add2015-06-02 10:18:49 +10005.. contents::
6 :local:
Sean M. Collins09e550c2014-10-21 11:40:08 -04007
8General Questions
Sean Dague32930462014-11-18 06:51:16 -05009=================
Sean M. Collins09e550c2014-10-21 11:40:08 -040010
Ian Wienand2f27add2015-06-02 10:18:49 +100011Can I use DevStack for production?
12~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100013
Ian Wienand2f27add2015-06-02 10:18:49 +100014DevStack is targeted at developers and CI systems to use the raw
15upstream code. It makes many choices that are not appropriate for
16production systems.
Ian Wienanda16e4612015-06-02 10:08:04 +100017
Ian Wienand2f27add2015-06-02 10:18:49 +100018Your best choice is probably to choose a `distribution of OpenStack
Isao Yamagata7aaaf902015-07-11 16:07:22 +000019<https://www.openstack.org/marketplace/distros/>`__.
Ian Wienanda16e4612015-06-02 10:08:04 +100020
Ian Wienand2f27add2015-06-02 10:18:49 +100021Why a shell script, why not chef/puppet/...
22~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100023
Ian Wienand2f27add2015-06-02 10:18:49 +100024The script is meant to be read by humans (as well as ran by
25computers); it is the primary documentation after all. Using a recipe
26system requires everyone to agree and understand chef or puppet.
Ian Wienanda16e4612015-06-02 10:08:04 +100027
Ian Wienand2f27add2015-06-02 10:18:49 +100028I'd like to help!
29~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100030
Ian Wienand2f27add2015-06-02 10:18:49 +100031That 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
34reports go to `LaunchPad
35<http://bugs.launchpad.net/devstack/>`__. Contributions follow the
36usual process as described in the `developer guide
37<http://docs.openstack.org/infra/manual/developers.html>`__. This
38Sphinx documentation is housed in the doc directory.
Ian Wienanda16e4612015-06-02 10:08:04 +100039
Ian Wienand2f27add2015-06-02 10:18:49 +100040Why not use packages?
41~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100042
Ian Wienand2f27add2015-06-02 10:18:49 +100043Unlike packages, DevStack leaves your cloud ready to develop -
44checkouts of the code and services running in screen. However, many
45people are doing the hard work of packaging and recipes for production
46deployments.
Ian Wienanda16e4612015-06-02 10:08:04 +100047
Ian Wienand2f27add2015-06-02 10:18:49 +100048Why isn't $MY\_FAVORITE\_DISTRO supported?
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51DevStack is meant for developers and those who want to see how
52OpenStack really works. DevStack is known to run on the distro/release
53combinations listed in ``README.md``. DevStack is only supported on
54releases other than those documented in ``README.md`` on a best-effort
55basis.
56
Atsushi SAKAIe3c26732015-11-06 13:23:47 +090057Are there any differences between Ubuntu and CentOS/Fedora support?
Ian Wienand2f27add2015-06-02 10:18:49 +100058~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
60Both should work well and are tested by DevStack CI.
61
62Why can't I use another shell?
63~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
65DevStack now uses some specific bash-ism that require Bash 4, such as
66associative arrays. Simple compatibility patches have been accepted in
67the past when they are not complex, at this point no additional
68compatibility patches will be considered except for shells matching
69the array functionality as it is very ingrained in the repo and
70project management.
71
72Can I test on OS/X?
73~~~~~~~~~~~~~~~~~~~
74
75Some people have success with bash 4 installed via homebrew to keep
76running tests on OS/X.
Sean M. Collins09e550c2014-10-21 11:40:08 -040077
Ian Wienand64cf2042015-06-02 10:28:55 +100078Can I at least source ``openrc`` with ``zsh``?
79~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80
81People have reported success with a special function to run ``openrc``
82through bash for this
83
84.. code-block:: bash
85
86 function sourceopenrc {
87 pushd ~/devstack >/dev/null
Ethan Lynne2561742016-03-30 23:40:56 +080088 eval $(bash -c ". openrc $1 $2 >/dev/null;env|sed -n '/OS_/ { s/^/export /;p}'")
Ian Wienand64cf2042015-06-02 10:28:55 +100089 popd >/dev/null
90 }
91
92
Sean M. Collins09e550c2014-10-21 11:40:08 -040093Operation and Configuration
Sean Dague32930462014-11-18 06:51:16 -050094===========================
Sean M. Collins09e550c2014-10-21 11:40:08 -040095
Ian Wienand2f27add2015-06-02 10:18:49 +100096Can DevStack handle a multi-node installation?
97~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100098
Ian Wienand2f27add2015-06-02 10:18:49 +100099Yes, see :doc:`multinode lab guide <guides/multinode-lab>`
Ian Wienanda16e4612015-06-02 10:08:04 +1000100
Ian Wienand2f27add2015-06-02 10:18:49 +1000101How can I document the environment that DevStack is using?
102~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
103
104DevStack includes a script (``tools/info.sh``) that gathers the
105versions of the relevant installed apt packages, pip packages and git
106repos. This is a good way to verify what Python modules are
107installed.
108
109How do I turn off a service that is enabled by default?
110~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
111
112Services can be turned off by adding ``disable_service xxx`` to
Jordan Pittier326e4802016-02-12 15:23:43 +0100113``local.conf`` (using ``c-vol`` in this example):
Sean M. Collins09e550c2014-10-21 11:40:08 -0400114
115 ::
116
Jordan Pittier326e4802016-02-12 15:23:43 +0100117 disable_service c-vol
Sean M. Collins09e550c2014-10-21 11:40:08 -0400118
Ian Wienand2f27add2015-06-02 10:18:49 +1000119Is enabling a service that defaults to off done with the reverse of the above?
120~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121Of course!
Sean M. Collins09e550c2014-10-21 11:40:08 -0400122
123 ::
124
Sean Dague37eca482015-06-16 07:19:22 -0400125 enable_service q-svc
Sean M. Collins09e550c2014-10-21 11:40:08 -0400126
Sean Dague17596182015-10-05 15:26:43 -0400127How do I run a specific OpenStack release?
Ian Wienand2f27add2015-06-02 10:18:49 +1000128~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129
Sean Dague17596182015-10-05 15:26:43 -0400130DevStack master tracks the upstream master of all the projects. If you
131would like to run a stable branch of OpenStack, you should use the
132corresponding stable branch of DevStack as well. For instance the
133``stable/kilo`` version of DevStack will already default to all the
134projects running at ``stable/kilo`` levels.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400135
Sean Dague17596182015-10-05 15:26:43 -0400136Note: it's also possible to manually adjust the ``*_BRANCH`` variables
137further if you would like to test specific milestones, or even custom
138out of tree branches. This is done with entries like the following in
139your ``local.conf``
140
141::
Sean M. Collins09e550c2014-10-21 11:40:08 -0400142
143 [[local|localrc]]
Sean Dague17596182015-10-05 15:26:43 -0400144 GLANCE_BRANCH=11.0.0.0rc1
145 NOVA_BRANCH=12.0.0.0.rc1
146
147
148Upstream DevStack is only tested with master and stable
Atsushi SAKAIe3c26732015-11-06 13:23:47 +0900149branches. Setting custom BRANCH definitions is not guaranteed to
Sean Dague17596182015-10-05 15:26:43 -0400150produce working results.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400151
Ian Wienand2f27add2015-06-02 10:18:49 +1000152What can I do about RabbitMQ not wanting to start on my fresh new VM?
153~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +1000154
Ian Wienand2f27add2015-06-02 10:18:49 +1000155This is often caused by ``erlang`` not being happy with the hostname
156resolving to a reachable IP address. Make sure your hostname resolves
157to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is
158often good enough for a single-node installation. And in an extreme
159case, use ``clean.sh`` to eradicate it and try again.
160
161Configure ``local.conf`` thusly:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400162
163 ::
164
165 [[local|localrc]]
166 HEAT_STANDALONE=True
167 ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng
168 KEYSTONE_SERVICE_HOST=<keystone-host>
169 KEYSTONE_AUTH_HOST=<keystone-host>
170
Ian Wienand2f27add2015-06-02 10:18:49 +1000171Why are my configuration changes ignored?
172~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
173
174You may have run into the package prerequisite installation
175timeout. ``tools/install_prereqs.sh`` has a timer that skips the
176package installation checks if it was run within the last
177``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set
178``FORCE_PREREQ=1`` and the package checks will never be skipped.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400179
180Miscellaneous
Sean Dague32930462014-11-18 06:51:16 -0500181=============
Sean M. Collins09e550c2014-10-21 11:40:08 -0400182
Ian Wienand2f27add2015-06-02 10:18:49 +1000183``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages.
184~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
185
186Stuff in there is to correct problems in an environment that need to
187be fixed elsewhere or may/will be fixed in a future release. In the
188case of ``httplib2`` and ``prettytable`` specific problems with
189specific versions are being worked around. If later releases have
190those problems than we'll add them to the script. Knowing about the
191broken future releases is valuable rather than polling to see if it
192has been fixed.