blob: 6f45c1cbb403b593f678d0b72c65145a73ed97d3 [file] [log] [blame]
Dean Troyer0986a7b2014-10-29 22:08:13 -05001=============
2Configuration
3=============
Sean M. Collins09e550c2014-10-21 11:40:08 -04004
Ian Wienand815db162015-08-06 10:25:45 +10005.. contents::
6 :local:
7 :depth: 1
8
Sean M. Collins09e550c2014-10-21 11:40:08 -04009local.conf
Sean Dague07d7e5b2014-11-17 07:10:14 -050010==========
Sean M. Collins09e550c2014-10-21 11:40:08 -040011
Ian Wienanda35391e2015-08-10 13:53:40 +100012DevStack configuration is modified via the file ``local.conf``. It is
13a modified INI format file that introduces a meta-section header to
14carry additional information regarding the configuration files to be
15changed.
16
17A sample is provided in ``devstack/samples``
Sean M. Collins09e550c2014-10-21 11:40:08 -040018
19The new header is similar to a normal INI section header but with double
20brackets (``[[ ... ]]``) and two internal fields separated by a pipe
dieterly7c7679e2015-09-18 15:10:48 -060021(``|``). Note that there are no spaces between the double brackets and the
22internal fields. Likewise, there are no spaces between the pipe and the
23internal fields:
Sean M. Collins09e550c2014-10-21 11:40:08 -040024::
25
dieterly7c7679e2015-09-18 15:10:48 -060026 '[[' <phase> '|' <config-file-name> ']]'
Sean M. Collins09e550c2014-10-21 11:40:08 -040027
28where ``<phase>`` is one of a set of phase names defined by ``stack.sh``
29and ``<config-file-name>`` is the configuration filename. The filename
30is eval'ed in the ``stack.sh`` context so all environment variables are
31available and may be used. Using the project config file variables in
32the header is strongly suggested (see the ``NOVA_CONF`` example below).
33If the path of the config file does not exist it is skipped.
34
35The defined phases are:
36
37- **local** - extracts ``localrc`` from ``local.conf`` before
38 ``stackrc`` is sourced
39- **pre-install** - runs after the system packages are installed but
40 before any of the source repositories are installed
41- **install** - runs immediately after the repo installations are
42 complete
43- **post-config** - runs after the layer 2 services are configured and
44 before they are started
45- **extra** - runs after services are started and before any files in
46 ``extra.d`` are executed
YAMAMOTO Takashi961643e2015-07-31 13:45:27 +090047- **post-extra** - runs after files in ``extra.d`` are executed
Sean M. Collins09e550c2014-10-21 11:40:08 -040048
49The file is processed strictly in sequence; meta-sections may be
50specified more than once but if any settings are duplicated the last to
51appear in the file will be used.
52
53::
54
55 [[post-config|$NOVA_CONF]]
56 [DEFAULT]
57 use_syslog = True
58
59 [osapi_v3]
60 enabled = False
61
62A specific meta-section ``local|localrc`` is used to provide a default
63``localrc`` file (actually ``.localrc.auto``). This allows all custom
64settings for DevStack to be contained in a single file. If ``localrc``
65exists it will be used instead to preserve backward-compatibility. More
Dean Troyerea3cdfa2014-11-08 08:29:16 -060066details on the :doc:`contents of local.conf <local.conf>` are available.
Sean M. Collins09e550c2014-10-21 11:40:08 -040067
68::
69
70 [[local|localrc]]
71 FIXED_RANGE=10.254.1.0/24
72 ADMIN_PASSWORD=speciale
73 LOGFILE=$DEST/logs/stack.sh.log
74
75Note that ``Q_PLUGIN_CONF_FILE`` is unique in that it is assumed to
76*NOT* start with a ``/`` (slash) character. A slash will need to be
77added:
78
79::
80
81 [[post-config|/$Q_PLUGIN_CONF_FILE]]
82
83Also note that the ``localrc`` section is sourced as a shell script
Juan Antonio Osorio Roblesfe6dccb2014-11-28 13:12:14 +020084fragment and MUST conform to the shell requirements, specifically no
Sean M. Collins09e550c2014-10-21 11:40:08 -040085whitespace around ``=`` (equals).
86
James Polley5f2eb6d2015-03-30 17:36:26 +110087.. _minimal-configuration:
88
Sean M. Collins09e550c2014-10-21 11:40:08 -040089Minimal Configuration
Sean Dague07d7e5b2014-11-17 07:10:14 -050090=====================
Sean M. Collins09e550c2014-10-21 11:40:08 -040091
92While ``stack.sh`` is happy to run without a ``localrc`` section in
93``local.conf``, devlife is better when there are a few minimal variables
94set. This is an example of a minimal configuration that touches the
95values that most often need to be set.
96
97- no logging
98- pre-set the passwords to prevent interactive prompts
99- move network ranges away from the local network (``FIXED_RANGE`` and
100 ``FLOATING_RANGE``, commented out below)
101- set the host IP if detection is unreliable (``HOST_IP``, commented
102 out below)
103
104::
105
106 [[local|localrc]]
107 ADMIN_PASSWORD=secrete
108 DATABASE_PASSWORD=$ADMIN_PASSWORD
109 RABBIT_PASSWORD=$ADMIN_PASSWORD
110 SERVICE_PASSWORD=$ADMIN_PASSWORD
Sean M. Collins09e550c2014-10-21 11:40:08 -0400111 #FIXED_RANGE=172.31.1.0/24
112 #FLOATING_RANGE=192.168.20.0/25
113 #HOST_IP=10.3.4.5
114
115If the ``*_PASSWORD`` variables are not set here you will be prompted to
116enter values for them by ``stack.sh``.
117
118The network ranges must not overlap with any networks in use on the
119host. Overlap is not uncommon as RFC-1918 'private' ranges are commonly
120used for both the local networking and Nova's fixed and floating ranges.
121
122``HOST_IP`` is normally detected on the first run of ``stack.sh`` but
123often is indeterminate on later runs due to the IP being moved from an
Juan Antonio Osorio Roblesfe6dccb2014-11-28 13:12:14 +0200124Ethernet interface to a bridge on the host. Setting it here also makes it
Sean M. Collins09e550c2014-10-21 11:40:08 -0400125available for ``openrc`` to set ``OS_AUTH_URL``. ``HOST_IP`` is not set
126by default.
127
Brian Haley180f5eb2015-06-16 13:14:31 -0400128``HOST_IPV6`` is normally detected on the first run of ``stack.sh`` but
129will not be set if there is no IPv6 address on the default Ethernet interface.
130Setting it here also makes it available for ``openrc`` to set ``OS_AUTH_URL``.
131``HOST_IPV6`` is not set by default.
132
Ian Wienanda35391e2015-08-10 13:53:40 +1000133Historical Notes
134================
Ian Wienand7d5be292015-08-10 13:39:17 +1000135
Ian Wienanda35391e2015-08-10 13:53:40 +1000136Historically DevStack obtained all local configuration and
137customizations from a ``localrc`` file. In Oct 2013 the
138``local.conf`` configuration method was introduced (in `review 46768
139<https://review.openstack.org/#/c/46768/>`__) to simplify this
140process.
Ian Wienand7d5be292015-08-10 13:39:17 +1000141
Ian Wienand815db162015-08-06 10:25:45 +1000142Configuration Notes
143===================
144
145.. contents::
146 :local:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400147
Sean Dague07d7e5b2014-11-17 07:10:14 -0500148Installation Directory
149----------------------
150
Ian Wienand815db162015-08-06 10:25:45 +1000151The DevStack install directory is set by the ``DEST`` variable. By
152default it is ``/opt/stack``.
153
154By setting it early in the ``localrc`` section you can reference it in
155later variables. It can be useful to set it even though it is not
156changed from the default value.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400157
158 ::
159
160 DEST=/opt/stack
161
Ian Wienand815db162015-08-06 10:25:45 +1000162Logging
163-------
164
165Enable Logging
166~~~~~~~~~~~~~~
167
168By default ``stack.sh`` output is only written to the console where it
169runs. It can be sent to a file in addition to the console by setting
170``LOGFILE`` to the fully-qualified name of the destination log file. A
171timestamp will be appended to the given filename for each run of
172``stack.sh``.
173
174 ::
175
176 LOGFILE=$DEST/logs/stack.sh.log
177
178Old log files are cleaned automatically if ``LOGDAYS`` is set to the
179number of days of old log files to keep.
180
181 ::
182
183 LOGDAYS=1
184
185The some of the project logs (Nova, Cinder, etc) will be colorized by
186default (if ``SYSLOG`` is not set below); this can be turned off by
187setting ``LOG_COLOR`` to ``False``.
188
189 ::
190
191 LOG_COLOR=False
192
193Logging the Service Output
194~~~~~~~~~~~~~~~~~~~~~~~~~~
195
196DevStack will log the ``stdout`` output of the services it starts.
197When using ``screen`` this logs the output in the screen windows to a
198file. Without ``screen`` this simply redirects stdout of the service
199process to a file in ``LOGDIR``.
200
201 ::
202
203 LOGDIR=$DEST/logs
204
Markus Zoellerc30657d2015-11-02 11:27:46 +0100205Note the use of ``DEST`` to locate the main install directory; this
206is why we suggest setting it in ``local.conf``.
Ian Wienand815db162015-08-06 10:25:45 +1000207
208Enabling Syslog
209~~~~~~~~~~~~~~~
210
211Logging all services to a single syslog can be convenient. Enable
212syslogging by setting ``SYSLOG`` to ``True``. If the destination log
213host is not localhost ``SYSLOG_HOST`` and ``SYSLOG_PORT`` can be used
yangyapeng01cf55a2015-10-29 13:21:29 -0400214to direct the message stream to the log host.
Ian Wienand815db162015-08-06 10:25:45 +1000215
216 ::
217
218 SYSLOG=True
219 SYSLOG_HOST=$HOST_IP
220 SYSLOG_PORT=516
221
Ian Wienand7d5be292015-08-10 13:39:17 +1000222
Ian Wienanda35391e2015-08-10 13:53:40 +1000223Example Logging Configuration
224~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225
226For example, non-interactive installs probably wish to save output to
227a file, keep service logs and disable color in the stored files.
228
229 ::
230
231 [[local|localrc]]
232 DEST=/opt/stack/
233 LOGDIR=$DEST/logs
234 LOGFILE=$LOGDIR/stack.sh.log
235 LOG_COLOR=False
236
Ian Wienand7d5be292015-08-10 13:39:17 +1000237Database Backend
238----------------
239
240Multiple database backends are available. The available databases are defined
241in the lib/databases directory.
Markus Zoellerc30657d2015-11-02 11:27:46 +0100242``mysql`` is the default database, choose a different one by putting the
243following in the ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000244
245 ::
246
247 disable_service mysql
248 enable_service postgresql
249
Markus Zoellerc30657d2015-11-02 11:27:46 +0100250``mysql`` is the default database.
Ian Wienand7d5be292015-08-10 13:39:17 +1000251
252RPC Backend
253-----------
254
255Support for a RabbitMQ RPC backend is included. Additional RPC
256backends may be available via external plugins. Enabling or disabling
257RabbitMQ is handled via the usual service functions and
258``ENABLED_SERVICES``.
259
260Example disabling RabbitMQ in ``local.conf``:
261
262::
Markus Zoellerc30657d2015-11-02 11:27:46 +0100263
Ian Wienand7d5be292015-08-10 13:39:17 +1000264 disable_service rabbit
265
266
267Apache Frontend
268---------------
269
270The Apache web server can be enabled for wsgi services that support
271being deployed under HTTPD + mod_wsgi. By default, services that
272recommend running under HTTPD + mod_wsgi are deployed under Apache. To
273use an alternative deployment strategy (e.g. eventlet) for services
274that support an alternative to HTTPD + mod_wsgi set
275``ENABLE_HTTPD_MOD_WSGI_SERVICES`` to ``False`` in your
276``local.conf``.
277
278Each service that can be run under HTTPD + mod_wsgi also has an
279override toggle available that can be set in your ``local.conf``.
280
281Keystone is run under Apache with ``mod_wsgi`` by default.
282
283Example (Keystone)
284
285::
286
287 KEYSTONE_USE_MOD_WSGI="True"
288
289Example (Nova):
290
291::
292
293 NOVA_USE_MOD_WSGI="True"
294
295Example (Swift):
296
297::
298
299 SWIFT_USE_MOD_WSGI="True"
300
Oleksii Chuprykova6928102015-06-11 08:56:58 -0400301Example (Heat):
302
303::
304
305 HEAT_USE_MOD_WSGI="True"
306
Ian Wienand7d5be292015-08-10 13:39:17 +1000307
Anton Arefiev651cb1a2015-09-01 10:55:20 +0300308Example (Cinder):
309
310::
311
312 CINDER_USE_MOD_WSGI="True"
313
Ian Wienand7d5be292015-08-10 13:39:17 +1000314
Sean Dague07d7e5b2014-11-17 07:10:14 -0500315Libraries from Git
316------------------
317
Ian Wienand815db162015-08-06 10:25:45 +1000318By default devstack installs OpenStack server components from git,
319however it installs client libraries from released versions on pypi.
320This is appropriate if you are working on server development, but if
321you want to see how an unreleased version of the client affects the
322system you can have devstack install it from upstream, or from local
323git trees by specifying it in ``LIBS_FROM_GIT``. Multiple libraries
324can be specified as a comma separated list.
Sean Dague07d7e5b2014-11-17 07:10:14 -0500325
326 ::
327
328 LIBS_FROM_GIT=python-keystoneclient,oslo.config
329
Dean Troyer5686dbc2015-03-09 14:27:51 -0500330Virtual Environments
331--------------------
332
Ian Wienand815db162015-08-06 10:25:45 +1000333Enable the use of Python virtual environments by setting ``USE_VENV``
334to ``True``. This will enable the creation of venvs for each project
335that is defined in the ``PROJECT_VENV`` array.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500336
Ian Wienand815db162015-08-06 10:25:45 +1000337Each entry in the ``PROJECT_VENV`` array contains the directory name
338of a venv to be used for the project. The array index is the project
339name. Multiple projects can use the same venv if desired.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500340
341 ::
342
343 PROJECT_VENV["glance"]=${GLANCE_DIR}.venv
344
Ian Wienand815db162015-08-06 10:25:45 +1000345``ADDITIONAL_VENV_PACKAGES`` is a comma-separated list of additional
346packages to be installed into each venv. Often projects will not have
347certain packages listed in its ``requirements.txt`` file because they
348are 'optional' requirements, i.e. only needed for certain
349configurations. By default, the enabled databases will have their
350Python bindings added when they are enabled.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500351
Ian Wienand815db162015-08-06 10:25:45 +1000352 ::
Sean Dague07d7e5b2014-11-17 07:10:14 -0500353
Ian Wienand815db162015-08-06 10:25:45 +1000354 ADDITIONAL_VENV_PACKAGES="python-foo, python-bar"
Sean M. Collins09e550c2014-10-21 11:40:08 -0400355
Sean M. Collins09e550c2014-10-21 11:40:08 -0400356
357A clean install every time
Sean Dague07d7e5b2014-11-17 07:10:14 -0500358--------------------------
359
Ian Wienand815db162015-08-06 10:25:45 +1000360By default ``stack.sh`` only clones the project repos if they do not
361exist in ``$DEST``. ``stack.sh`` will freshen each repo on each run if
362``RECLONE`` is set to ``yes``. This avoids having to manually remove
363repos in order to get the current branch from ``$GIT_BASE``.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400364
365 ::
366
367 RECLONE=yes
368
Chris Dentebdd9ac2015-03-04 12:35:14 +0000369Upgrade packages installed by pip
370---------------------------------
371
Ian Wienand815db162015-08-06 10:25:45 +1000372By default ``stack.sh`` only installs Python packages if no version is
373currently installed or the current version does not match a specified
374requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing
375required Python packages will be upgraded to the most recent version
376that matches requirements.
Chris Dentebdd9ac2015-03-04 12:35:14 +0000377
378 ::
379
380 PIP_UPGRADE=True
381
Sean M. Collins09e550c2014-10-21 11:40:08 -0400382
383Service Catalog Backend
Sean Dague07d7e5b2014-11-17 07:10:14 -0500384-----------------------
385
Ian Wienand815db162015-08-06 10:25:45 +1000386By default DevStack uses Keystone's ``sql`` service catalog backend.
387An alternate ``template`` backend is also available, however, it does
388not support the ``service-*`` and ``endpoint-*`` commands of the
389``keystone`` CLI. To do so requires the ``sql`` backend be enabled
390with ``KEYSTONE_CATALOG_BACKEND``:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400391
392 ::
393
394 KEYSTONE_CATALOG_BACKEND=template
395
Ian Wienand815db162015-08-06 10:25:45 +1000396DevStack's default configuration in ``sql`` mode is set in
Einst Crazyf54f60a2015-10-30 23:00:57 +0800397``lib/keystone``
Sean M. Collins09e550c2014-10-21 11:40:08 -0400398
Sean M. Collins09e550c2014-10-21 11:40:08 -0400399
John Huaa4693b52015-08-06 13:53:35 +0100400Guest Images
401------------
402
403Images provided in URLS via the comma-separated ``IMAGE_URLS``
404variable will be downloaded and uploaded to glance by DevStack.
405
406Default guest-images are predefined for each type of hypervisor and
407their testing-requirements in ``stack.sh``. Setting
408``DOWNLOAD_DEFAULT_IMAGES=False`` will prevent DevStack downloading
409these default images; in that case, you will want to populate
410``IMAGE_URLS`` with sufficient images to satisfy testing-requirements.
411
412 ::
413
414 DOWNLOAD_DEFAULT_IMAGES=False
415 IMAGE_URLS="http://foo.bar.com/image.qcow,"
416 IMAGE_URLS+="http://foo.bar.com/image2.qcow"
417
Rafael Folcof0131e12015-09-23 12:55:02 -0500418
419Instance Type
420-------------
421
422``DEFAULT_INSTANCE_TYPE`` can be used to configure the default instance
423type. When this parameter is not specified, Devstack creates additional
424micro & nano flavors for really small instances to run Tempest tests.
425
426For guests with larger memory requirements, ``DEFAULT_INSTANCE_TYPE``
427should be specified in the configuration file so Tempest selects the
428default flavors instead.
429
430KVM on Power with QEMU 2.4 requires 512 MB to load the firmware -
431`QEMU 2.4 - PowerPC <http://wiki.qemu.org/ChangeLog/2.4>`__ so users
432running instances on ppc64/ppc64le can choose one of the default
433created flavors as follows:
434
435 ::
436
437 DEFAULT_INSTANCE_TYPE=m1.tiny
438
439
John Davidge21529a52014-06-30 09:55:11 -0400440IP Version
Brian Haley180f5eb2015-06-16 13:14:31 -0400441----------
442
Ian Wienand815db162015-08-06 10:25:45 +1000443``IP_VERSION`` can be used to configure DevStack to create either an
444IPv4, IPv6, or dual-stack tenant data-network by with either
445``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
446respectively. This functionality requires that the Neutron networking
447service is enabled by setting the following options:
John Davidge21529a52014-06-30 09:55:11 -0400448
449 ::
450
451 disable_service n-net
452 enable_service q-svc q-agt q-dhcp q-l3
453
Ian Wienand815db162015-08-06 10:25:45 +1000454The following optional variables can be used to alter the default IPv6
455behavior:
John Davidge21529a52014-06-30 09:55:11 -0400456
457 ::
458
459 IPV6_RA_MODE=slaac
460 IPV6_ADDRESS_MODE=slaac
461 FIXED_RANGE_V6=fd$IPV6_GLOBAL_ID::/64
462 IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
463
Ian Wienand815db162015-08-06 10:25:45 +1000464*Note*: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY`` can be
465configured with any valid IPv6 prefix. The default values make use of
466an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
Brian Haley180f5eb2015-06-16 13:14:31 -0400467
Ian Wienand815db162015-08-06 10:25:45 +1000468Service Version
469~~~~~~~~~~~~~~~
470
471DevStack can enable service operation over either IPv4 or IPv6 by
472setting ``SERVICE_IP_VERSION`` to either ``SERVICE_IP_VERSION=4`` or
473``SERVICE_IP_VERSION=6`` respectively.
474
475When set to ``4`` devstack services will open listen sockets on
476``0.0.0.0`` and service endpoints will be registered using ``HOST_IP``
477as the address.
478
479When set to ``6`` devstack services will open listen sockets on ``::``
480and service endpoints will be registered using ``HOST_IPV6`` as the
481address.
482
483The default value for this setting is ``4``. Dual-mode support, for
484example ``4+6`` is not currently supported. ``HOST_IPV6`` can
485optionally be used to alter the default IPv6 address
Brian Haley180f5eb2015-06-16 13:14:31 -0400486
487 ::
488
489 HOST_IPV6=${some_local_ipv6_address}
John Davidge21529a52014-06-30 09:55:11 -0400490
Ian Wienand7d5be292015-08-10 13:39:17 +1000491Multi-node setup
492~~~~~~~~~~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400493
Ian Wienand7d5be292015-08-10 13:39:17 +1000494See the :doc:`multi-node lab guide<guides/multinode-lab>`
Sean M. Collins09e550c2014-10-21 11:40:08 -0400495
Ian Wienand7d5be292015-08-10 13:39:17 +1000496Projects
497--------
Sean M. Collins09e550c2014-10-21 11:40:08 -0400498
Ian Wienand7d5be292015-08-10 13:39:17 +1000499Neutron
500~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400501
Ian Wienand7d5be292015-08-10 13:39:17 +1000502See the :doc:`neutron configuration guide<guides/neutron>` for
503details on configuration of Neutron
Sean M. Collins09e550c2014-10-21 11:40:08 -0400504
Sean M. Collins09e550c2014-10-21 11:40:08 -0400505
Ian Wienand7d5be292015-08-10 13:39:17 +1000506Swift
507~~~~~
508
509Swift is disabled by default. When enabled, it is configured with
510only one replica to avoid being IO/memory intensive on a small
511VM. When running with only one replica the account, container and
512object services will run directly in screen. The others services like
513replicator, updaters or auditor runs in background.
514
Markus Zoellerc30657d2015-11-02 11:27:46 +0100515If you would like to enable Swift you can add this to your ``localrc``
Ian Wienand7d5be292015-08-10 13:39:17 +1000516section:
517
518::
519
520 enable_service s-proxy s-object s-container s-account
521
522If you want a minimal Swift install with only Swift and Keystone you
Markus Zoellerc30657d2015-11-02 11:27:46 +0100523can have this instead in your ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000524
525::
526
527 disable_all_services
528 enable_service key mysql s-proxy s-object s-container s-account
529
530If you only want to do some testing of a real normal swift cluster
531with multiple replicas you can do so by customizing the variable
Markus Zoellerc30657d2015-11-02 11:27:46 +0100532``SWIFT_REPLICAS`` in your ``localrc`` section (usually to 3).
Ian Wienand7d5be292015-08-10 13:39:17 +1000533
534Swift S3
535++++++++
536
Markus Zoellerc30657d2015-11-02 11:27:46 +0100537If you are enabling ``swift3`` in ``ENABLED_SERVICES`` DevStack will
Ian Wienand7d5be292015-08-10 13:39:17 +1000538install the swift3 middleware emulation. Swift will be configured to
539act as a S3 endpoint for Keystone so effectively replacing the
Markus Zoellerc30657d2015-11-02 11:27:46 +0100540``nova-objectstore``.
Ian Wienand7d5be292015-08-10 13:39:17 +1000541
542Only Swift proxy server is launched in the screen session all other
Markus Zoellerc30657d2015-11-02 11:27:46 +0100543services are started in background and managed by ``swift-init`` tool.
Ian Wienand7d5be292015-08-10 13:39:17 +1000544
545Heat
546~~~~
547
Markus Zoellerc30657d2015-11-02 11:27:46 +0100548Heat is disabled by default (see ``stackrc`` file). To enable it
549explicitly you'll need the following settings in your ``localrc``
Ian Wienand7d5be292015-08-10 13:39:17 +1000550section
551
552::
553
554 enable_service heat h-api h-api-cfn h-api-cw h-eng
555
556Heat can also run in standalone mode, and be configured to orchestrate
557on an external OpenStack cloud. To launch only Heat in standalone mode
Markus Zoellerc30657d2015-11-02 11:27:46 +0100558you'll need the following settings in your ``localrc`` section
Ian Wienand7d5be292015-08-10 13:39:17 +1000559
560::
561
562 disable_all_services
563 enable_service rabbit mysql heat h-api h-api-cfn h-api-cw h-eng
564 HEAT_STANDALONE=True
565 KEYSTONE_SERVICE_HOST=...
566 KEYSTONE_AUTH_HOST=...
567
568Tempest
569~~~~~~~
570
571If tempest has been successfully configured, a basic set of smoke
572tests can be run as follows:
573
574::
575
576 $ cd /opt/stack/tempest
577 $ tox -efull tempest.scenario.test_network_basic_ops
578
579By default tempest is downloaded and the config file is generated, but the
580tempest package is not installed in the system's global site-packages (the
581package install includes installing dependences). So tempest won't run
582outside of tox. If you would like to install it add the following to your
583``localrc`` section:
584
585::
586
587 INSTALL_TEMPEST=True
588
589
590Xenserver
591~~~~~~~~~
592
593If you would like to use Xenserver as the hypervisor, please refer to
Markus Zoellerc30657d2015-11-02 11:27:46 +0100594the instructions in ``./tools/xen/README.md``.
Ian Wienand7d5be292015-08-10 13:39:17 +1000595
596Cells
597~~~~~
598
599`Cells <http://wiki.openstack.org/blueprint-nova-compute-cells>`__ is
600an alternative scaling option. To setup a cells environment add the
Markus Zoellerc30657d2015-11-02 11:27:46 +0100601following to your ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000602
603::
604
605 enable_service n-cell
606
607Be aware that there are some features currently missing in cells, one
608notable one being security groups. The exercises have been patched to
609disable functionality not supported by cells.
610
611Cinder
612~~~~~~
613
614The logical volume group used to hold the Cinder-managed volumes is
615set by ``VOLUME_GROUP``, the logical volume name prefix is set with
616``VOLUME_NAME_PREFIX`` and the size of the volume backing file is set
617with ``VOLUME_BACKING_FILE_SIZE``.
618
619 ::
620
621 VOLUME_GROUP="stack-volumes"
622 VOLUME_NAME_PREFIX="volume-"
623 VOLUME_BACKING_FILE_SIZE=10250M
624
625
626Keystone
627~~~~~~~~
628
629Multi-Region Setup
630++++++++++++++++++
631
632We want to setup two devstack (RegionOne and RegionTwo) with shared
633keystone (same users and services) and horizon. Keystone and Horizon
634will be located in RegionOne. Full spec is available at:
635`<https://wiki.openstack.org/wiki/Heat/Blueprints/Multi_Region_Support_for_Heat>`__.
636
637In RegionOne:
638
639::
640
641 REGION_NAME=RegionOne
642
643In RegionTwo:
644
645::
henriquetrutaf2126222016-01-05 13:43:18 -0300646
Ian Wienand7d5be292015-08-10 13:39:17 +1000647 disable_service horizon
648 KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
649 KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
650 REGION_NAME=RegionTwo
henriquetrutaf2126222016-01-05 13:43:18 -0300651
652Disabling Identity API v2
653+++++++++++++++++++++++++
654
655The Identity API v2 is deprecated as of Mitaka and it is recommended to only
656use the v3 API. It is possible to setup keystone without v2 API, by doing:
657
658::
659
660 ENABLE_IDENTITY_V2=False