blob: 2c74a66a46da0a8b407523d9bc532eee9e637358 [file] [log] [blame]
Dean Troyer54b97322014-06-20 17:53:55 -05001<!DOCTYPE html>
2<html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <title>DevStack - Frequently Asked Questions</title>
6 <meta name="description" content="">
7 <meta name="author" content="">
8
9 <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
10 <!--[if lt IE 9]>
11 <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
12 <![endif]-->
13
14 <!-- Le styles -->
15 <link href="assets/css/bootstrap.css" rel="stylesheet">
16 <link href="assets/css/local.css" rel="stylesheet">
17 <style type="text/css">
18 body { padding-top: 60px; }
19 dd { padding: 10px; }
20 </style>
Gilles Dubreuila2162542014-07-15 14:30:26 +100021
Dean Troyer54b97322014-06-20 17:53:55 -050022 <!-- Le javascripts -->
23 <script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
24 <script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
25 </head>
26
27 <body>
28
29 <div class="navbar navbar-fixed-top">
30 <div class="navbar-inner">
31 <div class="container">
32 <a class="brand" href="/">DevStack</a>
33 <ul class="nav pull-right">
34 <li><a href="overview.html">Overview</a></li>
35 <li><a href="changes.html">Changes</a></li>
36 <li><a href="faq.html">FAQ</a></li>
37 <li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
38 <li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
39 </ul>
40 </div>
41 </div>
42 </div>
43
44 <div class="container" id="home">
Gilles Dubreuila2162542014-07-15 14:30:26 +100045
Dean Troyer54b97322014-06-20 17:53:55 -050046 <section id="faq" class="span12">
47
48 <div class='row pull-left'>
49 <h2>FAQ: Using DevStack <small>Making to behave</small></h2>
50
51 <ul>
52 <li><a href="#general">General Questions</a></li>
53 <li><a href="#ops_conf">Operation and Configuration</a></li>
54 <li><a href="#misc">Miscellaneous</a></li>
55 </ul>
56
57 <h3><a name="general">General Questions</a></h3>
58
59 <dl class='pull-left'>
60 <dt>Q: Can I use DevStack for production?</dt>
61 <dd>A: No. We mean it. Really. DevStack makes some implementation choices that are not appropriate for production deployments. We warned you!</dd>
62
63 <dt>Q: Then why selinux in enforcing mode?</dt>
64 <dd>A: That is the default on current Fedora and RHEL releases. DevStack has (rightly so) a bad reputation for its security practices; it has always been meant as a development tool first and system integration later. This is changing as the security issues around OpenStack's use of root (for example) have been tightened and developers need to be better equipped to work in these environments. <code>stack.sh</code>'s use of root is primarily to support the activities that would be handled by packaging in "real" deployments. To remove additional protections that will be desired/required in production would be a step backward.</dd>
65
66 <dt>Q: But selinux is disabled in RHEL 6!</dt>
67 <dd>A: Today it is, yes. That is a specific exception that certain DevStack contributors fought strongly against. The primary reason it was allowed was to support using RHEL6 as the Python 2.6 test platform and that took priority time-wise. This will not be the case with RHEL 7.</dd>
68
69 <dt>Q: Why a shell script, why not chef/puppet/...</dt>
70 <dd>A: The script is meant to be read by humans (as well as ran by computers); it is the primary documentation after all. Using a recipe system requires everyone to agree and understand chef or puppet.</dd>
Gilles Dubreuila2162542014-07-15 14:30:26 +100071
Dean Troyer54b97322014-06-20 17:53:55 -050072 <dt>Q: Why not use Crowbar?</dt>
73 <dd>A: DevStack is optimized for documentation &amp; developers. As some of us use <a href="https://github.com/dellcloudedge/crowbar">Crowbar</a> for production deployments, we hope developers documenting how they setup systems for new features supports projects like Crowbar.</dd>
Gilles Dubreuila2162542014-07-15 14:30:26 +100074
Dean Troyer54b97322014-06-20 17:53:55 -050075 <dt>Q: I'd like to help!</dt>
Gilles Dubreuila8008f02014-07-15 14:14:56 +100076 <dd>A: That isn't a question, but please do! The source for DevStack is <a href="http://github.com/openstack-dev/devstack">github</a> and bug reports go to <a href="http://bugs.launchpad.net/devstack/">LaunchPad</a>. Contributions follow the usual process as described in the <a href="http://wiki.openstack.org/HowToContribute">OpenStack wiki</a> even though DevStack is not an official OpenStack project. This site is housed in the CloudBuilder's <a href="http://github.com/cloudbuilders/devstack">github</a> in the gh-pages branch.</dd>
Gilles Dubreuila2162542014-07-15 14:30:26 +100077
Dean Troyer54b97322014-06-20 17:53:55 -050078 <dt>Q: Why not use packages?</dt>
79 <dd>A: Unlike packages, DevStack leaves your cloud ready to develop - checkouts of the code and services running in screen. However, many people are doing the hard work of packaging and recipes for production deployments. We hope this script serves as a way to communicate configuration changes between developers and packagers.</dd>
Gilles Dubreuila2162542014-07-15 14:30:26 +100080
Dean Troyer54b97322014-06-20 17:53:55 -050081 <dt>Q: Why isn't $MY_FAVORITE_DISTRO supported?</dt>
82 <dd>A: DevStack is meant for developers and those who want to see how OpenStack really works. DevStack is known to run on the distro/release combinations listed in <code>README.md</code>. DevStack is only supported on releases other than those documented in <code>README.md</code> on a best-effort basis.</dd>
83
84 <dt>Q: What about Fedora/RHEL/CentOS?</dt>
85 <dd>A: Fedora and CentOS/RHEL are supported via rpm dependency files and specific checks in <code>stack.sh</code>. Support will follow the pattern set with the Ubuntu testing, i.e. only a single release of the distro will receive regular testing, others will be handled on a best-effort basis.</dd>
86
87 <dt>Q: Are there any differences between Ubuntu and Fedora support?</dt>
Gilles Dubreuila8008f02014-07-15 14:14:56 +100088 <dd>A: Neutron is not fully supported prior to Fedora 18 due lack of OpenVSwitch packages.</dd>
Dean Troyer54b97322014-06-20 17:53:55 -050089
90 <dt>Q: How about RHEL 6?</dt>
91 <dd>A: RHEL 6 has Python 2.6 and many old modules packaged and is a challenge to support. There are a number of specific RHEL6 work-arounds in <code>stack.sh</code> to handle this. But the testing on py26 is valuable so we do it...</dd>
92 </dl>
93
94 <h3><a name="ops_conf">Operation and Configuration</a></h3>
95
96 <dl class='pull-left'>
97 <dt>Q: Can DevStack handle a multi-node installation?</dt>
98 <dd>A: Indirectly, yes. You run DevStack on each node with the appropriate configuration in <code>local.conf</code>. The primary considerations are turning off the services not required on the secondary nodes, making sure the passwords match and setting the various API URLs to the right place.</dd>
Gilles Dubreuila2162542014-07-15 14:30:26 +100099
Dean Troyer54b97322014-06-20 17:53:55 -0500100 <dt>Q: How can I document the environment that DevStack is using?</dt>
101 <dd>A: DevStack includes a script (<code>tools/info.sh</code>) that gathers the versions of the relevant installed apt packages, pip packages and git repos. This is a good way to verify what Python modules are installed.</dd>
102
103 <dt>Q: How do I turn off a service that is enabled by default?</dt>
104 <dd>A: Services can be turned off by adding <code>disable_service xxx</code> to <code>local.conf</code> (using <code>n-vol</code> in this example):
105 <pre>disable_service n-vol</pre>
106 </dd>
107
108 <dt>Q: Is enabling a service that defaults to off done with the reverse of the above?</dt>
109 <dd>A: Of course!
110 <pre>enable_service qpid</pre>
111 </dd>
112
113 <dt>Q: How do I run a specific OpenStack milestone?</dt>
114 <dd>A: OpenStack milestones have tags set in the git repo. Set the appropriate tag in the <code>*_BRANCH</code> variables in <code>local.conf</code>. Swift is on its own release schedule so pick a tag in the Swift repo that is just before the milestone release. For example:
115 <pre>[[local|localrc]]
116GLANCE_BRANCH=stable/grizzly
117HORIZON_BRANCH=stable/grizzly
118KEYSTONE_BRANCH=stable/grizzly
119NOVA_BRANCH=stable/grizzly
120GLANCE_BRANCH=stable/grizzly
121NEUTRON_BRANCH=stable/grizzly
122SWIFT_BRANCH=1.10.0</pre>
123 </dd>
124<!--- this is incomplete, remove it until populating the sql catalog is complete
125 <dt>Q: How do I use the SQL catalog backend in Keystone?</dt>
126 <dd>A: Comment out the template backend lines in the <code>[catalog]</code> section of <code>keystone/etc/keystone.conf</code> and add the SQL backend config like this:
127 <pre>[catalog]
128#driver = keystone.catalog.backends.templated.TemplatedCatalog
129#template_file = ./etc/default_catalog.templates
130driver = keystone.catalog.backends.sql.Catalog</pre>
131 </dd>
132-->
133 <dt>Q: Why not use <strike><code>tools/pip-requires</code></strike><code>requirements.txt</code> to grab project dependencies?</dt>
134 <dd><strike>The majority of deployments will use packages to install OpenStack that will have distro-based packages as dependencies. DevStack installs as many of these Python packages as possible to mimic the expected production environemnt.</strike> Certain Linux distributions have a 'lack of workaround' in their Python configurations that installs vendor packaged Python modules and pip-installed modules to the SAME DIRECTORY TREE. This is causing heartache and moving us in the direction of installing more modules from PyPI than vendor packages. However, that is only being done as necessary as the packaging needs to catch up to the development cycle anyway so this is kept to a minimum.</dd>
135
136 <dt>Q: What can I do about RabbitMQ not wanting to start on my fresh new VM?</dt>
137 <dd>A: This is often caused by <code>erlang</code> not being happy with the hostname resolving to a reachable IP address. Make sure your hostname resolves to a working IP address; setting it to 127.0.0.1 in <code>/etc/hosts</code> is often good enough for a single-node installation. And in an extreme case, use <code>clean.sh</code> to eradicate it and try again.</dd>
138
139 <dt>Q: How can I set up Heat in stand-alone configuration?</dt>
140 <dd>A: Configure <code>local.conf</code> thusly:
141 <pre>[[local|localrc]]
142HEAT_STANDALONE=True
143ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng
144KEYSTONE_SERVICE_HOST=&lt;keystone-host&gt;
145KEYSTONE_AUTH_HOST=&lt;keystone-host&gt;</pre>
146 </dd>
147
148 <dt>Q: Why are my configuration changes ignored?</dt>
149 <dd>A: You may have run into the package prerequisite installation timeout. <code>tools/install_prereqs.sh</code> has a timer that skips the package installation checks if it was run within the last <code>PREREQ_RERUN_HOURS</code> hours (default is 2). To override this, set <code>FORCE_PREREQ=1</code> and the package checks will never be skipped.
150 </dd>
151 </dl>
152
153 <h3><a name="misc">Miscellaneous</a></h3>
154
155 <dl class='pull-left'>
156 <dt>Q: <code>tools/fixup_stuff.sh</code> is broken and shouldn't 'fix' just one version of packages.</dt>
157 <dd>A: [Another not-a-question] No it isn't. Stuff in there is to correct problems in an environment that need to be fixed elsewhere or may/will be fixed in a future release. In the case of <code>httplib2</code> and <code>prettytable</code> specific problems with specific versions are being worked around. If later releases have those problems than we'll add them to the script. Knowing about the broken future releases is valuable rather than polling to see if it has been fixed.</dd>
158 </dl>
159 </div>
160
161 </section>
162
163 <footer>
164 <p>&copy; Openstack Foundation 2011-2014 &mdash; An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
165 </footer>
166
167 </div> <!-- /container -->
168 </body>
169</html>