| 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 |  | 
| Ian Wienand | 64cf204 | 2015-06-02 10:28:55 +1000 | [diff] [blame] | 78 | Can I at least source ``openrc`` with ``zsh``? | 
|  | 79 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 80 |  | 
|  | 81 | People have reported success with a special function to run ``openrc`` | 
|  | 82 | through 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. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 93 | Operation and Configuration | 
| Sean Dague | 3293046 | 2014-11-18 06:51:16 -0500 | [diff] [blame] | 94 | =========================== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 95 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 96 | Can DevStack handle a multi-node installation? | 
|  | 97 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
| Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 98 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 99 | Yes, see :doc:`multinode lab guide <guides/multinode-lab>` | 
| Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 100 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 101 | How can I document the environment that DevStack is using? | 
|  | 102 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 103 |  | 
|  | 104 | DevStack includes a script (``tools/info.sh``) that gathers the | 
|  | 105 | versions of the relevant installed apt packages, pip packages and git | 
|  | 106 | repos. This is a good way to verify what Python modules are | 
|  | 107 | installed. | 
|  | 108 |  | 
|  | 109 | How do I turn off a service that is enabled by default? | 
|  | 110 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 111 |  | 
|  | 112 | Services can be turned off by adding ``disable_service xxx`` to | 
|  | 113 | ``local.conf`` (using ``n-vol`` in this example): | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 114 |  | 
|  | 115 | :: | 
|  | 116 |  | 
|  | 117 | disable_service n-vol | 
|  | 118 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 119 | Is enabling a service that defaults to off done with the reverse of the above? | 
|  | 120 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 121 | Of course! | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 122 |  | 
|  | 123 | :: | 
|  | 124 |  | 
|  | 125 | enable_service qpid | 
|  | 126 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 127 | How do I run a specific OpenStack milestone? | 
|  | 128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 129 |  | 
|  | 130 | OpenStack milestones have tags set in the git repo. Set the | 
|  | 131 | appropriate tag in the ``*_BRANCH`` variables in ``local.conf``. | 
|  | 132 | Swift is on its own release schedule so pick a tag in the Swift repo | 
|  | 133 | that is just before the milestone release. For example: | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 134 |  | 
|  | 135 | :: | 
|  | 136 |  | 
|  | 137 | [[local|localrc]] | 
| Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 138 | 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. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 145 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 146 | What can I do about RabbitMQ not wanting to start on my fresh new VM? | 
|  | 147 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
| Ian Wienand | a16e461 | 2015-06-02 10:08:04 +1000 | [diff] [blame] | 148 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 149 | This is often caused by ``erlang`` not being happy with the hostname | 
|  | 150 | resolving to a reachable IP address. Make sure your hostname resolves | 
|  | 151 | to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is | 
|  | 152 | often good enough for a single-node installation. And in an extreme | 
|  | 153 | case, use ``clean.sh`` to eradicate it and try again. | 
|  | 154 |  | 
|  | 155 | Configure ``local.conf`` thusly: | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 156 |  | 
|  | 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 Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 165 | Why are my configuration changes ignored? | 
|  | 166 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 167 |  | 
|  | 168 | You may have run into the package prerequisite installation | 
|  | 169 | timeout. ``tools/install_prereqs.sh`` has a timer that skips the | 
|  | 170 | package 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. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 173 |  | 
|  | 174 | Miscellaneous | 
| Sean Dague | 3293046 | 2014-11-18 06:51:16 -0500 | [diff] [blame] | 175 | ============= | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 176 |  | 
| Ian Wienand | 2f27add | 2015-06-02 10:18:49 +1000 | [diff] [blame] | 177 | ``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages. | 
|  | 178 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  | 179 |  | 
|  | 180 | Stuff in there is to correct problems in an environment that need to | 
|  | 181 | be fixed elsewhere or may/will be fixed in a future release. In the | 
|  | 182 | case of ``httplib2`` and ``prettytable`` specific problems with | 
|  | 183 | specific versions are being worked around. If later releases have | 
|  | 184 | those problems than we'll add them to the script. Knowing about the | 
|  | 185 | broken future releases is valuable rather than polling to see if it | 
|  | 186 | has been fixed. |