Skip to content

Commit d596a95

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Add a new FAQ entry for dev environments"
2 parents d906011 + b75a492 commit d596a95

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

doc/source/faq.rst

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,57 @@ production systems.
1818
Your best choice is probably to choose a `distribution of OpenStack
1919
<https://www.openstack.org/marketplace/distros/>`__.
2020

21+
Can I use DevStack as a development environment?
22+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23+
24+
Sure, you can. That said, there are a couple of things you should note before
25+
doing so:
26+
27+
- DevStack makes a lot of configuration changes to your system and should not
28+
be run in your main development environment.
29+
30+
- All the repositories that DevStack clones when deploying are considered
31+
volatile by default and thus are subject to hard resets. This is necessary to
32+
keep you in sync with the latest upstream, which is what you want in a CI
33+
situation, but it can result in branches being overwritten and files being
34+
removed.
35+
36+
The corollary of this is that if you are working on a specific project, using
37+
the DevStack project repository (defaulted to ``/opt/stack/<project>``) as
38+
the single master repository for storing all your work is not recommended.
39+
This behavior can be overridden by setting the ``RECLONE`` config option to
40+
``no``. Alternatively, you can avoid running ``stack.sh`` to redeploy by
41+
restarting services manually. In any case, you should generally ensure work
42+
in progress is pushed to Gerrit or otherwise backed up before running
43+
``stack.sh``.
44+
45+
- If you use DevStack within a VM, you may wish to mount a local OpenStack
46+
directory, such as ``~/src/openstack``, inside the VM and configure DevStack
47+
to use this as the clone location using the ``{PROJECT}_REPO`` config
48+
variables. For example, assuming you're using Vagrant and sharing your home
49+
directory, you should place the following in ``local.conf``:
50+
51+
.. code-block:: shell
52+
53+
NEUTRON_REPO=/home/vagrant/src/neutron
54+
NOVA_REPO=/home/vagrant/src/nova
55+
KEYSTONE_REPO=/home/vagrant/src/keystone
56+
GLANCE_REPO=/home/vagrant/src/glance
57+
SWIFT_REPO=/home/vagrant/src/swift
58+
HORIZON_REPO=/home/vagrant/src/horizon
59+
CINDER_REPO=/home/vagrant/src/cinder
60+
HEAT_REPO=/home/vagrant/src/heat
61+
TEMPEST_REPO=/home/vagrant/src/tempest
62+
HEATCLIENT_REPO=/home/vagrant/src/python-heatclient
63+
GLANCECLIENT_REPO=/home/vagrant/src/python-glanceclient
64+
NOVACLIENT_REPO=/home/vagrant/src/python-novaclient
65+
NEUTRONCLIENT_REPO=/home/vagrant/src/python-neutronclient
66+
OPENSTACKCLIENT_REPO=/home/vagrant/src/python-openstackclient
67+
HEAT_CFNTOOLS_REPO=/home/vagrant/src/heat-cfntools
68+
HEAT_TEMPLATES_REPO=/home/vagrant/src/heat-templates
69+
NEUTRON_FWAAS_REPO=/home/vagrant/src/neutron-fwaas
70+
# ...
71+
2172
Why a shell script, why not chef/puppet/...
2273
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2374

0 commit comments

Comments
 (0)