blob: 0db8932e9c2840c6be0769a099a6e2a325f471df [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
57Are there any differences between Ubuntu and Centos/Fedora support?
58~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
88 eval $(bash -c ". openrc $1 $2;env|sed -n '/OS_/ { s/^/export /;p}'")
89 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
113``local.conf`` (using ``n-vol`` in this example):
Sean M. Collins09e550c2014-10-21 11:40:08 -0400114
115 ::
116
117 disable_service n-vol
118
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
Ian Wienand2f27add2015-06-02 10:18:49 +1000127How do I run a specific OpenStack milestone?
128~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129
130OpenStack milestones have tags set in the git repo. Set the
131appropriate tag in the ``*_BRANCH`` variables in ``local.conf``.
132Swift is on its own release schedule so pick a tag in the Swift repo
133that is just before the milestone release. For example:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400134
135 ::
136
137 [[local|localrc]]
Ian Wienanda16e4612015-06-02 10:08:04 +1000138 GLANCE_BRANCH=stable/kilo
139 HORIZON_BRANCH=stable/kilo
140 KEYSTONE_BRANCH=stable/kilo
141 NOVA_BRANCH=stable/kilo
142 GLANCE_BRANCH=stable/kilo
143 NEUTRON_BRANCH=stable/kilo
144 SWIFT_BRANCH=2.3.0
Sean M. Collins09e550c2014-10-21 11:40:08 -0400145
Ian Wienand2f27add2015-06-02 10:18:49 +1000146What can I do about RabbitMQ not wanting to start on my fresh new VM?
147~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +1000148
Ian Wienand2f27add2015-06-02 10:18:49 +1000149This is often caused by ``erlang`` not being happy with the hostname
150resolving to a reachable IP address. Make sure your hostname resolves
151to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is
152often good enough for a single-node installation. And in an extreme
153case, use ``clean.sh`` to eradicate it and try again.
154
155Configure ``local.conf`` thusly:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400156
157 ::
158
159 [[local|localrc]]
160 HEAT_STANDALONE=True
161 ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng
162 KEYSTONE_SERVICE_HOST=<keystone-host>
163 KEYSTONE_AUTH_HOST=<keystone-host>
164
Ian Wienand2f27add2015-06-02 10:18:49 +1000165Why are my configuration changes ignored?
166~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167
168You may have run into the package prerequisite installation
169timeout. ``tools/install_prereqs.sh`` has a timer that skips the
170package installation checks if it was run within the last
171``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set
172``FORCE_PREREQ=1`` and the package checks will never be skipped.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400173
174Miscellaneous
Sean Dague32930462014-11-18 06:51:16 -0500175=============
Sean M. Collins09e550c2014-10-21 11:40:08 -0400176
Ian Wienand2f27add2015-06-02 10:18:49 +1000177``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages.
178~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179
180Stuff in there is to correct problems in an environment that need to
181be fixed elsewhere or may/will be fixed in a future release. In the
182case of ``httplib2`` and ``prettytable`` specific problems with
183specific versions are being worked around. If later releases have
184those problems than we'll add them to the script. Knowing about the
185broken future releases is valuable rather than polling to see if it
186has been fixed.