Dean Troyer | 0986a7b | 2014-10-29 22:08:13 -0500 | [diff] [blame] | 1 | === |
| 2 | FAQ |
| 3 | === |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 4 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 5 | .. contents:: |
| 6 | :local: |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 7 | |
| 8 | General Questions |
Sean Dague | 3293046 | 2014-11-18 06:51:16 -0500 | [diff] [blame] | 9 | ================= |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 10 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 11 | Can I use DevStack for production? |
| 12 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 13 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 14 | DevStack is targeted at developers and CI systems to use the raw |
| 15 | upstream code. It makes many choices that are not appropriate for |
| 16 | production systems. |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 17 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 18 | Your best choice is probably to choose a `distribution of OpenStack |
| 19 | <https://www.openstack.org/marketplace/distros/distribution>`__. |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 20 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 21 | Why a shell script, why not chef/puppet/... |
| 22 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 23 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 24 | The script is meant to be read by humans (as well as ran by |
| 25 | computers); it is the primary documentation after all. Using a recipe |
| 26 | system requires everyone to agree and understand chef or puppet. |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 27 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 28 | I'd like to help! |
| 29 | ~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 30 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 31 | That 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 |
| 34 | reports go to `LaunchPad |
| 35 | <http://bugs.launchpad.net/devstack/>`__. Contributions follow the |
| 36 | usual process as described in the `developer guide |
| 37 | <http://docs.openstack.org/infra/manual/developers.html>`__. This |
| 38 | Sphinx documentation is housed in the doc directory. |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 39 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 40 | Why not use packages? |
| 41 | ~~~~~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 42 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 43 | Unlike packages, DevStack leaves your cloud ready to develop - |
| 44 | checkouts of the code and services running in screen. However, many |
| 45 | people are doing the hard work of packaging and recipes for production |
| 46 | deployments. |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 47 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 48 | Why isn't $MY\_FAVORITE\_DISTRO supported? |
| 49 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 50 | |
| 51 | DevStack is meant for developers and those who want to see how |
| 52 | OpenStack really works. DevStack is known to run on the distro/release |
| 53 | combinations listed in ``README.md``. DevStack is only supported on |
| 54 | releases other than those documented in ``README.md`` on a best-effort |
| 55 | basis. |
| 56 | |
| 57 | Are there any differences between Ubuntu and Centos/Fedora support? |
| 58 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 59 | |
| 60 | Both should work well and are tested by DevStack CI. |
| 61 | |
| 62 | Why can't I use another shell? |
| 63 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 64 | |
| 65 | DevStack now uses some specific bash-ism that require Bash 4, such as |
| 66 | associative arrays. Simple compatibility patches have been accepted in |
| 67 | the past when they are not complex, at this point no additional |
| 68 | compatibility patches will be considered except for shells matching |
| 69 | the array functionality as it is very ingrained in the repo and |
| 70 | project management. |
| 71 | |
| 72 | Can I test on OS/X? |
| 73 | ~~~~~~~~~~~~~~~~~~~ |
| 74 | |
| 75 | Some people have success with bash 4 installed via homebrew to keep |
| 76 | running tests on OS/X. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 77 | |
| 78 | Operation and Configuration |
Sean Dague | 3293046 | 2014-11-18 06:51:16 -0500 | [diff] [blame] | 79 | =========================== |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 80 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 81 | Can DevStack handle a multi-node installation? |
| 82 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 83 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 84 | Yes, see :doc:`multinode lab guide <guides/multinode-lab>` |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 85 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 86 | How can I document the environment that DevStack is using? |
| 87 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 88 | |
| 89 | DevStack includes a script (``tools/info.sh``) that gathers the |
| 90 | versions of the relevant installed apt packages, pip packages and git |
| 91 | repos. This is a good way to verify what Python modules are |
| 92 | installed. |
| 93 | |
| 94 | How do I turn off a service that is enabled by default? |
| 95 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 96 | |
| 97 | Services can be turned off by adding ``disable_service xxx`` to |
| 98 | ``local.conf`` (using ``n-vol`` in this example): |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 99 | |
| 100 | :: |
| 101 | |
| 102 | disable_service n-vol |
| 103 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 104 | Is enabling a service that defaults to off done with the reverse of the above? |
| 105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 106 | Of course! |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 107 | |
| 108 | :: |
| 109 | |
| 110 | enable_service qpid |
| 111 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 112 | How do I run a specific OpenStack milestone? |
| 113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 114 | |
| 115 | OpenStack milestones have tags set in the git repo. Set the |
| 116 | appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. |
| 117 | Swift is on its own release schedule so pick a tag in the Swift repo |
| 118 | that is just before the milestone release. For example: |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 119 | |
| 120 | :: |
| 121 | |
| 122 | [[local|localrc]] |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 123 | GLANCE_BRANCH=stable/kilo |
| 124 | HORIZON_BRANCH=stable/kilo |
| 125 | KEYSTONE_BRANCH=stable/kilo |
| 126 | NOVA_BRANCH=stable/kilo |
| 127 | GLANCE_BRANCH=stable/kilo |
| 128 | NEUTRON_BRANCH=stable/kilo |
| 129 | SWIFT_BRANCH=2.3.0 |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 130 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 131 | What can I do about RabbitMQ not wanting to start on my fresh new VM? |
| 132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 133 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 134 | This is often caused by ``erlang`` not being happy with the hostname |
| 135 | resolving to a reachable IP address. Make sure your hostname resolves |
| 136 | to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is |
| 137 | often good enough for a single-node installation. And in an extreme |
| 138 | case, use ``clean.sh`` to eradicate it and try again. |
| 139 | |
| 140 | Configure ``local.conf`` thusly: |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 141 | |
| 142 | :: |
| 143 | |
| 144 | [[local|localrc]] |
| 145 | HEAT_STANDALONE=True |
| 146 | ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng |
| 147 | KEYSTONE_SERVICE_HOST=<keystone-host> |
| 148 | KEYSTONE_AUTH_HOST=<keystone-host> |
| 149 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 150 | Why are my configuration changes ignored? |
| 151 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 152 | |
| 153 | You may have run into the package prerequisite installation |
| 154 | timeout. ``tools/install_prereqs.sh`` has a timer that skips the |
| 155 | package installation checks if it was run within the last |
| 156 | ``PREREQ_RERUN_HOURS`` hours (default is 2). To override this, set |
| 157 | ``FORCE_PREREQ=1`` and the package checks will never be skipped. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 158 | |
| 159 | Miscellaneous |
Sean Dague | 3293046 | 2014-11-18 06:51:16 -0500 | [diff] [blame] | 160 | ============= |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 161 | |
Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame^] | 162 | ``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages. |
| 163 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 164 | |
| 165 | Stuff in there is to correct problems in an environment that need to |
| 166 | be fixed elsewhere or may/will be fixed in a future release. In the |
| 167 | case of ``httplib2`` and ``prettytable`` specific problems with |
| 168 | specific versions are being worked around. If later releases have |
| 169 | those problems than we'll add them to the script. Knowing about the |
| 170 | broken future releases is valuable rather than polling to see if it |
| 171 | has been fixed. |