blob: ed9b4da6bbad59759a503016002f8c79e4191a06 [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
zhangbailinc63d9332017-09-01 19:46:16 -070035<https://bugs.launchpad.net/devstack/>`__. Contributions follow the
Ian Wienand2f27add2015-06-02 10:18:49 +100036usual process as described in the `developer guide
zhangbailinc63d9332017-09-01 19:46:16 -070037<https://docs.openstack.org/infra/manual/developers.html>`__. This
Ian Wienand2f27add2015-06-02 10:18:49 +100038Sphinx 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 -
Sean Dague8b8441f2017-05-02 06:14:11 -040044checkouts of the code and services running locally under systemd,
45making it easy to hack on and test new patches. However, many people
46are doing the hard work of packaging and recipes for production
Ian Wienand2f27add2015-06-02 10:18:49 +100047deployments.
Ian Wienanda16e4612015-06-02 10:08:04 +100048
Ian Wienand2f27add2015-06-02 10:18:49 +100049Why isn't $MY\_FAVORITE\_DISTRO supported?
50~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51
52DevStack is meant for developers and those who want to see how
53OpenStack really works. DevStack is known to run on the distro/release
54combinations listed in ``README.md``. DevStack is only supported on
55releases other than those documented in ``README.md`` on a best-effort
56basis.
57
Atsushi SAKAIe3c26732015-11-06 13:23:47 +090058Are there any differences between Ubuntu and CentOS/Fedora support?
Ian Wienand2f27add2015-06-02 10:18:49 +100059~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60
61Both should work well and are tested by DevStack CI.
62
63Why can't I use another shell?
64~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65
66DevStack now uses some specific bash-ism that require Bash 4, such as
67associative arrays. Simple compatibility patches have been accepted in
68the past when they are not complex, at this point no additional
69compatibility patches will be considered except for shells matching
70the array functionality as it is very ingrained in the repo and
71project management.
72
73Can I test on OS/X?
74~~~~~~~~~~~~~~~~~~~
75
76Some people have success with bash 4 installed via homebrew to keep
77running tests on OS/X.
Sean M. Collins09e550c2014-10-21 11:40:08 -040078
Ian Wienand64cf2042015-06-02 10:28:55 +100079Can I at least source ``openrc`` with ``zsh``?
80~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81
82People have reported success with a special function to run ``openrc``
83through bash for this
84
85.. code-block:: bash
86
87 function sourceopenrc {
88 pushd ~/devstack >/dev/null
Ethan Lynne2561742016-03-30 23:40:56 +080089 eval $(bash -c ". openrc $1 $2 >/dev/null;env|sed -n '/OS_/ { s/^/export /;p}'")
Ian Wienand64cf2042015-06-02 10:28:55 +100090 popd >/dev/null
91 }
92
93
Sean M. Collins09e550c2014-10-21 11:40:08 -040094Operation and Configuration
Sean Dague32930462014-11-18 06:51:16 -050095===========================
Sean M. Collins09e550c2014-10-21 11:40:08 -040096
Ian Wienand2f27add2015-06-02 10:18:49 +100097Can DevStack handle a multi-node installation?
98~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +100099
Ian Wienand2f27add2015-06-02 10:18:49 +1000100Yes, see :doc:`multinode lab guide <guides/multinode-lab>`
Ian Wienanda16e4612015-06-02 10:08:04 +1000101
Ian Wienand2f27add2015-06-02 10:18:49 +1000102How can I document the environment that DevStack is using?
103~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104
105DevStack includes a script (``tools/info.sh``) that gathers the
106versions of the relevant installed apt packages, pip packages and git
107repos. This is a good way to verify what Python modules are
108installed.
109
110How do I turn off a service that is enabled by default?
111~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
112
113Services can be turned off by adding ``disable_service xxx`` to
Jordan Pittier326e4802016-02-12 15:23:43 +0100114``local.conf`` (using ``c-vol`` in this example):
Sean M. Collins09e550c2014-10-21 11:40:08 -0400115
116 ::
117
Jordan Pittier326e4802016-02-12 15:23:43 +0100118 disable_service c-vol
Sean M. Collins09e550c2014-10-21 11:40:08 -0400119
Ian Wienand2f27add2015-06-02 10:18:49 +1000120Is enabling a service that defaults to off done with the reverse of the above?
121~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122Of course!
Sean M. Collins09e550c2014-10-21 11:40:08 -0400123
124 ::
125
Sean Dague37eca482015-06-16 07:19:22 -0400126 enable_service q-svc
Sean M. Collins09e550c2014-10-21 11:40:08 -0400127
Sean Dague17596182015-10-05 15:26:43 -0400128How do I run a specific OpenStack release?
Ian Wienand2f27add2015-06-02 10:18:49 +1000129~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130
Sean Dague17596182015-10-05 15:26:43 -0400131DevStack master tracks the upstream master of all the projects. If you
132would like to run a stable branch of OpenStack, you should use the
133corresponding stable branch of DevStack as well. For instance the
Jordan Pittier99d5d1c2017-03-15 13:42:25 +0100134``stable/ocata`` version of DevStack will already default to all the
135projects running at ``stable/ocata`` levels.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400136
Sean Dague17596182015-10-05 15:26:43 -0400137Note: it's also possible to manually adjust the ``*_BRANCH`` variables
138further if you would like to test specific milestones, or even custom
139out of tree branches. This is done with entries like the following in
140your ``local.conf``
141
142::
Sean M. Collins09e550c2014-10-21 11:40:08 -0400143
144 [[local|localrc]]
Sean Dague17596182015-10-05 15:26:43 -0400145 GLANCE_BRANCH=11.0.0.0rc1
146 NOVA_BRANCH=12.0.0.0.rc1
147
148
149Upstream DevStack is only tested with master and stable
Atsushi SAKAIe3c26732015-11-06 13:23:47 +0900150branches. Setting custom BRANCH definitions is not guaranteed to
Sean Dague17596182015-10-05 15:26:43 -0400151produce working results.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400152
Ian Wienand2f27add2015-06-02 10:18:49 +1000153What can I do about RabbitMQ not wanting to start on my fresh new VM?
154~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Wienanda16e4612015-06-02 10:08:04 +1000155
Ian Wienand2f27add2015-06-02 10:18:49 +1000156This is often caused by ``erlang`` not being happy with the hostname
157resolving to a reachable IP address. Make sure your hostname resolves
158to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is
159often good enough for a single-node installation. And in an extreme
160case, use ``clean.sh`` to eradicate it and try again.
161
Ian Wienand2f27add2015-06-02 10:18:49 +1000162Why are my configuration changes ignored?
163~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
164
165You may have run into the package prerequisite installation
166timeout. ``tools/install_prereqs.sh`` has a timer that skips the
167package installation checks if it was run within the last
168``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set
169``FORCE_PREREQ=1`` and the package checks will never be skipped.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400170
171Miscellaneous
Sean Dague32930462014-11-18 06:51:16 -0500172=============
Sean M. Collins09e550c2014-10-21 11:40:08 -0400173
Ian Wienand2f27add2015-06-02 10:18:49 +1000174``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages.
175~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
176
177Stuff in there is to correct problems in an environment that need to
178be fixed elsewhere or may/will be fixed in a future release. In the
179case of ``httplib2`` and ``prettytable`` specific problems with
180specific versions are being worked around. If later releases have
181those problems than we'll add them to the script. Knowing about the
182broken future releases is valuable rather than polling to see if it
183has been fixed.