blob: 386fbbbf71c4fa677122f7d69f4ce48c7e4e85de [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
111 SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
112 #FIXED_RANGE=172.31.1.0/24
113 #FLOATING_RANGE=192.168.20.0/25
114 #HOST_IP=10.3.4.5
115
116If the ``*_PASSWORD`` variables are not set here you will be prompted to
117enter values for them by ``stack.sh``.
118
119The network ranges must not overlap with any networks in use on the
120host. Overlap is not uncommon as RFC-1918 'private' ranges are commonly
121used for both the local networking and Nova's fixed and floating ranges.
122
123``HOST_IP`` is normally detected on the first run of ``stack.sh`` but
124often is indeterminate on later runs due to the IP being moved from an
Juan Antonio Osorio Roblesfe6dccb2014-11-28 13:12:14 +0200125Ethernet interface to a bridge on the host. Setting it here also makes it
Sean M. Collins09e550c2014-10-21 11:40:08 -0400126available for ``openrc`` to set ``OS_AUTH_URL``. ``HOST_IP`` is not set
127by default.
128
Brian Haley180f5eb2015-06-16 13:14:31 -0400129``HOST_IPV6`` is normally detected on the first run of ``stack.sh`` but
130will not be set if there is no IPv6 address on the default Ethernet interface.
131Setting it here also makes it available for ``openrc`` to set ``OS_AUTH_URL``.
132``HOST_IPV6`` is not set by default.
133
Ian Wienanda35391e2015-08-10 13:53:40 +1000134Historical Notes
135================
Ian Wienand7d5be292015-08-10 13:39:17 +1000136
Ian Wienanda35391e2015-08-10 13:53:40 +1000137Historically DevStack obtained all local configuration and
138customizations from a ``localrc`` file. In Oct 2013 the
139``local.conf`` configuration method was introduced (in `review 46768
140<https://review.openstack.org/#/c/46768/>`__) to simplify this
141process.
Ian Wienand7d5be292015-08-10 13:39:17 +1000142
Ian Wienand815db162015-08-06 10:25:45 +1000143Configuration Notes
144===================
145
146.. contents::
147 :local:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400148
Sean Dague07d7e5b2014-11-17 07:10:14 -0500149Installation Directory
150----------------------
151
Ian Wienand815db162015-08-06 10:25:45 +1000152The DevStack install directory is set by the ``DEST`` variable. By
153default it is ``/opt/stack``.
154
155By setting it early in the ``localrc`` section you can reference it in
156later variables. It can be useful to set it even though it is not
157changed from the default value.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400158
159 ::
160
161 DEST=/opt/stack
162
Ian Wienand815db162015-08-06 10:25:45 +1000163Logging
164-------
165
166Enable Logging
167~~~~~~~~~~~~~~
168
169By default ``stack.sh`` output is only written to the console where it
170runs. It can be sent to a file in addition to the console by setting
171``LOGFILE`` to the fully-qualified name of the destination log file. A
172timestamp will be appended to the given filename for each run of
173``stack.sh``.
174
175 ::
176
177 LOGFILE=$DEST/logs/stack.sh.log
178
179Old log files are cleaned automatically if ``LOGDAYS`` is set to the
180number of days of old log files to keep.
181
182 ::
183
184 LOGDAYS=1
185
186The some of the project logs (Nova, Cinder, etc) will be colorized by
187default (if ``SYSLOG`` is not set below); this can be turned off by
188setting ``LOG_COLOR`` to ``False``.
189
190 ::
191
192 LOG_COLOR=False
193
194Logging the Service Output
195~~~~~~~~~~~~~~~~~~~~~~~~~~
196
197DevStack will log the ``stdout`` output of the services it starts.
198When using ``screen`` this logs the output in the screen windows to a
199file. Without ``screen`` this simply redirects stdout of the service
200process to a file in ``LOGDIR``.
201
202 ::
203
204 LOGDIR=$DEST/logs
205
Markus Zoellerc30657d2015-11-02 11:27:46 +0100206Note the use of ``DEST`` to locate the main install directory; this
207is why we suggest setting it in ``local.conf``.
Ian Wienand815db162015-08-06 10:25:45 +1000208
209Enabling Syslog
210~~~~~~~~~~~~~~~
211
212Logging all services to a single syslog can be convenient. Enable
213syslogging by setting ``SYSLOG`` to ``True``. If the destination log
214host is not localhost ``SYSLOG_HOST`` and ``SYSLOG_PORT`` can be used
yangyapeng01cf55a2015-10-29 13:21:29 -0400215to direct the message stream to the log host.
Ian Wienand815db162015-08-06 10:25:45 +1000216
217 ::
218
219 SYSLOG=True
220 SYSLOG_HOST=$HOST_IP
221 SYSLOG_PORT=516
222
Ian Wienand7d5be292015-08-10 13:39:17 +1000223
Ian Wienanda35391e2015-08-10 13:53:40 +1000224Example Logging Configuration
225~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226
227For example, non-interactive installs probably wish to save output to
228a file, keep service logs and disable color in the stored files.
229
230 ::
231
232 [[local|localrc]]
233 DEST=/opt/stack/
234 LOGDIR=$DEST/logs
235 LOGFILE=$LOGDIR/stack.sh.log
236 LOG_COLOR=False
237
Ian Wienand7d5be292015-08-10 13:39:17 +1000238Database Backend
239----------------
240
241Multiple database backends are available. The available databases are defined
242in the lib/databases directory.
Markus Zoellerc30657d2015-11-02 11:27:46 +0100243``mysql`` is the default database, choose a different one by putting the
244following in the ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000245
246 ::
247
248 disable_service mysql
249 enable_service postgresql
250
Markus Zoellerc30657d2015-11-02 11:27:46 +0100251``mysql`` is the default database.
Ian Wienand7d5be292015-08-10 13:39:17 +1000252
253RPC Backend
254-----------
255
256Support for a RabbitMQ RPC backend is included. Additional RPC
257backends may be available via external plugins. Enabling or disabling
258RabbitMQ is handled via the usual service functions and
259``ENABLED_SERVICES``.
260
261Example disabling RabbitMQ in ``local.conf``:
262
263::
Markus Zoellerc30657d2015-11-02 11:27:46 +0100264
Ian Wienand7d5be292015-08-10 13:39:17 +1000265 disable_service rabbit
266
267
268Apache Frontend
269---------------
270
271The Apache web server can be enabled for wsgi services that support
272being deployed under HTTPD + mod_wsgi. By default, services that
273recommend running under HTTPD + mod_wsgi are deployed under Apache. To
274use an alternative deployment strategy (e.g. eventlet) for services
275that support an alternative to HTTPD + mod_wsgi set
276``ENABLE_HTTPD_MOD_WSGI_SERVICES`` to ``False`` in your
277``local.conf``.
278
279Each service that can be run under HTTPD + mod_wsgi also has an
280override toggle available that can be set in your ``local.conf``.
281
282Keystone is run under Apache with ``mod_wsgi`` by default.
283
284Example (Keystone)
285
286::
287
288 KEYSTONE_USE_MOD_WSGI="True"
289
290Example (Nova):
291
292::
293
294 NOVA_USE_MOD_WSGI="True"
295
296Example (Swift):
297
298::
299
300 SWIFT_USE_MOD_WSGI="True"
301
Oleksii Chuprykova6928102015-06-11 08:56:58 -0400302Example (Heat):
303
304::
305
306 HEAT_USE_MOD_WSGI="True"
307
Ian Wienand7d5be292015-08-10 13:39:17 +1000308
Anton Arefiev651cb1a2015-09-01 10:55:20 +0300309Example (Cinder):
310
311::
312
313 CINDER_USE_MOD_WSGI="True"
314
Ian Wienand7d5be292015-08-10 13:39:17 +1000315
Sean Dague07d7e5b2014-11-17 07:10:14 -0500316Libraries from Git
317------------------
318
Ian Wienand815db162015-08-06 10:25:45 +1000319By default devstack installs OpenStack server components from git,
320however it installs client libraries from released versions on pypi.
321This is appropriate if you are working on server development, but if
322you want to see how an unreleased version of the client affects the
323system you can have devstack install it from upstream, or from local
324git trees by specifying it in ``LIBS_FROM_GIT``. Multiple libraries
325can be specified as a comma separated list.
Sean Dague07d7e5b2014-11-17 07:10:14 -0500326
327 ::
328
329 LIBS_FROM_GIT=python-keystoneclient,oslo.config
330
Dean Troyer5686dbc2015-03-09 14:27:51 -0500331Virtual Environments
332--------------------
333
Ian Wienand815db162015-08-06 10:25:45 +1000334Enable the use of Python virtual environments by setting ``USE_VENV``
335to ``True``. This will enable the creation of venvs for each project
336that is defined in the ``PROJECT_VENV`` array.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500337
Ian Wienand815db162015-08-06 10:25:45 +1000338Each entry in the ``PROJECT_VENV`` array contains the directory name
339of a venv to be used for the project. The array index is the project
340name. Multiple projects can use the same venv if desired.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500341
342 ::
343
344 PROJECT_VENV["glance"]=${GLANCE_DIR}.venv
345
Ian Wienand815db162015-08-06 10:25:45 +1000346``ADDITIONAL_VENV_PACKAGES`` is a comma-separated list of additional
347packages to be installed into each venv. Often projects will not have
348certain packages listed in its ``requirements.txt`` file because they
349are 'optional' requirements, i.e. only needed for certain
350configurations. By default, the enabled databases will have their
351Python bindings added when they are enabled.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500352
Ian Wienand815db162015-08-06 10:25:45 +1000353 ::
Sean Dague07d7e5b2014-11-17 07:10:14 -0500354
Ian Wienand815db162015-08-06 10:25:45 +1000355 ADDITIONAL_VENV_PACKAGES="python-foo, python-bar"
Sean M. Collins09e550c2014-10-21 11:40:08 -0400356
Sean M. Collins09e550c2014-10-21 11:40:08 -0400357
358A clean install every time
Sean Dague07d7e5b2014-11-17 07:10:14 -0500359--------------------------
360
Ian Wienand815db162015-08-06 10:25:45 +1000361By default ``stack.sh`` only clones the project repos if they do not
362exist in ``$DEST``. ``stack.sh`` will freshen each repo on each run if
363``RECLONE`` is set to ``yes``. This avoids having to manually remove
364repos in order to get the current branch from ``$GIT_BASE``.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400365
366 ::
367
368 RECLONE=yes
369
Chris Dentebdd9ac2015-03-04 12:35:14 +0000370Upgrade packages installed by pip
371---------------------------------
372
Ian Wienand815db162015-08-06 10:25:45 +1000373By default ``stack.sh`` only installs Python packages if no version is
374currently installed or the current version does not match a specified
375requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing
376required Python packages will be upgraded to the most recent version
377that matches requirements.
Chris Dentebdd9ac2015-03-04 12:35:14 +0000378
379 ::
380
381 PIP_UPGRADE=True
382
Sean M. Collins09e550c2014-10-21 11:40:08 -0400383
384Service Catalog Backend
Sean Dague07d7e5b2014-11-17 07:10:14 -0500385-----------------------
386
Ian Wienand815db162015-08-06 10:25:45 +1000387By default DevStack uses Keystone's ``sql`` service catalog backend.
388An alternate ``template`` backend is also available, however, it does
389not support the ``service-*`` and ``endpoint-*`` commands of the
390``keystone`` CLI. To do so requires the ``sql`` backend be enabled
391with ``KEYSTONE_CATALOG_BACKEND``:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400392
393 ::
394
395 KEYSTONE_CATALOG_BACKEND=template
396
Ian Wienand815db162015-08-06 10:25:45 +1000397DevStack's default configuration in ``sql`` mode is set in
Einst Crazyf54f60a2015-10-30 23:00:57 +0800398``lib/keystone``
Sean M. Collins09e550c2014-10-21 11:40:08 -0400399
Sean M. Collins09e550c2014-10-21 11:40:08 -0400400
John Huaa4693b52015-08-06 13:53:35 +0100401Guest Images
402------------
403
404Images provided in URLS via the comma-separated ``IMAGE_URLS``
405variable will be downloaded and uploaded to glance by DevStack.
406
407Default guest-images are predefined for each type of hypervisor and
408their testing-requirements in ``stack.sh``. Setting
409``DOWNLOAD_DEFAULT_IMAGES=False`` will prevent DevStack downloading
410these default images; in that case, you will want to populate
411``IMAGE_URLS`` with sufficient images to satisfy testing-requirements.
412
413 ::
414
415 DOWNLOAD_DEFAULT_IMAGES=False
416 IMAGE_URLS="http://foo.bar.com/image.qcow,"
417 IMAGE_URLS+="http://foo.bar.com/image2.qcow"
418
Rafael Folcof0131e12015-09-23 12:55:02 -0500419
420Instance Type
421-------------
422
423``DEFAULT_INSTANCE_TYPE`` can be used to configure the default instance
424type. When this parameter is not specified, Devstack creates additional
425micro & nano flavors for really small instances to run Tempest tests.
426
427For guests with larger memory requirements, ``DEFAULT_INSTANCE_TYPE``
428should be specified in the configuration file so Tempest selects the
429default flavors instead.
430
431KVM on Power with QEMU 2.4 requires 512 MB to load the firmware -
432`QEMU 2.4 - PowerPC <http://wiki.qemu.org/ChangeLog/2.4>`__ so users
433running instances on ppc64/ppc64le can choose one of the default
434created flavors as follows:
435
436 ::
437
438 DEFAULT_INSTANCE_TYPE=m1.tiny
439
440
John Davidge21529a52014-06-30 09:55:11 -0400441IP Version
Brian Haley180f5eb2015-06-16 13:14:31 -0400442----------
443
Ian Wienand815db162015-08-06 10:25:45 +1000444``IP_VERSION`` can be used to configure DevStack to create either an
445IPv4, IPv6, or dual-stack tenant data-network by with either
446``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
447respectively. This functionality requires that the Neutron networking
448service is enabled by setting the following options:
John Davidge21529a52014-06-30 09:55:11 -0400449
450 ::
451
452 disable_service n-net
453 enable_service q-svc q-agt q-dhcp q-l3
454
Ian Wienand815db162015-08-06 10:25:45 +1000455The following optional variables can be used to alter the default IPv6
456behavior:
John Davidge21529a52014-06-30 09:55:11 -0400457
458 ::
459
460 IPV6_RA_MODE=slaac
461 IPV6_ADDRESS_MODE=slaac
462 FIXED_RANGE_V6=fd$IPV6_GLOBAL_ID::/64
463 IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
464
Ian Wienand815db162015-08-06 10:25:45 +1000465*Note*: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY`` can be
466configured with any valid IPv6 prefix. The default values make use of
467an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
Brian Haley180f5eb2015-06-16 13:14:31 -0400468
Ian Wienand815db162015-08-06 10:25:45 +1000469Service Version
470~~~~~~~~~~~~~~~
471
472DevStack can enable service operation over either IPv4 or IPv6 by
473setting ``SERVICE_IP_VERSION`` to either ``SERVICE_IP_VERSION=4`` or
474``SERVICE_IP_VERSION=6`` respectively.
475
476When set to ``4`` devstack services will open listen sockets on
477``0.0.0.0`` and service endpoints will be registered using ``HOST_IP``
478as the address.
479
480When set to ``6`` devstack services will open listen sockets on ``::``
481and service endpoints will be registered using ``HOST_IPV6`` as the
482address.
483
484The default value for this setting is ``4``. Dual-mode support, for
485example ``4+6`` is not currently supported. ``HOST_IPV6`` can
486optionally be used to alter the default IPv6 address
Brian Haley180f5eb2015-06-16 13:14:31 -0400487
488 ::
489
490 HOST_IPV6=${some_local_ipv6_address}
John Davidge21529a52014-06-30 09:55:11 -0400491
Ian Wienand7d5be292015-08-10 13:39:17 +1000492Multi-node setup
493~~~~~~~~~~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400494
Ian Wienand7d5be292015-08-10 13:39:17 +1000495See the :doc:`multi-node lab guide<guides/multinode-lab>`
Sean M. Collins09e550c2014-10-21 11:40:08 -0400496
Ian Wienand7d5be292015-08-10 13:39:17 +1000497Projects
498--------
Sean M. Collins09e550c2014-10-21 11:40:08 -0400499
Ian Wienand7d5be292015-08-10 13:39:17 +1000500Neutron
501~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400502
Ian Wienand7d5be292015-08-10 13:39:17 +1000503See the :doc:`neutron configuration guide<guides/neutron>` for
504details on configuration of Neutron
Sean M. Collins09e550c2014-10-21 11:40:08 -0400505
Sean M. Collins09e550c2014-10-21 11:40:08 -0400506
Ian Wienand7d5be292015-08-10 13:39:17 +1000507Swift
508~~~~~
509
510Swift is disabled by default. When enabled, it is configured with
511only one replica to avoid being IO/memory intensive on a small
512VM. When running with only one replica the account, container and
513object services will run directly in screen. The others services like
514replicator, updaters or auditor runs in background.
515
Markus Zoellerc30657d2015-11-02 11:27:46 +0100516If you would like to enable Swift you can add this to your ``localrc``
Ian Wienand7d5be292015-08-10 13:39:17 +1000517section:
518
519::
520
521 enable_service s-proxy s-object s-container s-account
522
523If you want a minimal Swift install with only Swift and Keystone you
Markus Zoellerc30657d2015-11-02 11:27:46 +0100524can have this instead in your ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000525
526::
527
528 disable_all_services
529 enable_service key mysql s-proxy s-object s-container s-account
530
531If you only want to do some testing of a real normal swift cluster
532with multiple replicas you can do so by customizing the variable
Markus Zoellerc30657d2015-11-02 11:27:46 +0100533``SWIFT_REPLICAS`` in your ``localrc`` section (usually to 3).
Ian Wienand7d5be292015-08-10 13:39:17 +1000534
535Swift S3
536++++++++
537
Markus Zoellerc30657d2015-11-02 11:27:46 +0100538If you are enabling ``swift3`` in ``ENABLED_SERVICES`` DevStack will
Ian Wienand7d5be292015-08-10 13:39:17 +1000539install the swift3 middleware emulation. Swift will be configured to
540act as a S3 endpoint for Keystone so effectively replacing the
Markus Zoellerc30657d2015-11-02 11:27:46 +0100541``nova-objectstore``.
Ian Wienand7d5be292015-08-10 13:39:17 +1000542
543Only Swift proxy server is launched in the screen session all other
Markus Zoellerc30657d2015-11-02 11:27:46 +0100544services are started in background and managed by ``swift-init`` tool.
Ian Wienand7d5be292015-08-10 13:39:17 +1000545
546Heat
547~~~~
548
Markus Zoellerc30657d2015-11-02 11:27:46 +0100549Heat is disabled by default (see ``stackrc`` file). To enable it
550explicitly you'll need the following settings in your ``localrc``
Ian Wienand7d5be292015-08-10 13:39:17 +1000551section
552
553::
554
555 enable_service heat h-api h-api-cfn h-api-cw h-eng
556
557Heat can also run in standalone mode, and be configured to orchestrate
558on an external OpenStack cloud. To launch only Heat in standalone mode
Markus Zoellerc30657d2015-11-02 11:27:46 +0100559you'll need the following settings in your ``localrc`` section
Ian Wienand7d5be292015-08-10 13:39:17 +1000560
561::
562
563 disable_all_services
564 enable_service rabbit mysql heat h-api h-api-cfn h-api-cw h-eng
565 HEAT_STANDALONE=True
566 KEYSTONE_SERVICE_HOST=...
567 KEYSTONE_AUTH_HOST=...
568
569Tempest
570~~~~~~~
571
572If tempest has been successfully configured, a basic set of smoke
573tests can be run as follows:
574
575::
576
577 $ cd /opt/stack/tempest
578 $ tox -efull tempest.scenario.test_network_basic_ops
579
580By default tempest is downloaded and the config file is generated, but the
581tempest package is not installed in the system's global site-packages (the
582package install includes installing dependences). So tempest won't run
583outside of tox. If you would like to install it add the following to your
584``localrc`` section:
585
586::
587
588 INSTALL_TEMPEST=True
589
590
591Xenserver
592~~~~~~~~~
593
594If you would like to use Xenserver as the hypervisor, please refer to
Markus Zoellerc30657d2015-11-02 11:27:46 +0100595the instructions in ``./tools/xen/README.md``.
Ian Wienand7d5be292015-08-10 13:39:17 +1000596
597Cells
598~~~~~
599
600`Cells <http://wiki.openstack.org/blueprint-nova-compute-cells>`__ is
601an alternative scaling option. To setup a cells environment add the
Markus Zoellerc30657d2015-11-02 11:27:46 +0100602following to your ``localrc`` section:
Ian Wienand7d5be292015-08-10 13:39:17 +1000603
604::
605
606 enable_service n-cell
607
608Be aware that there are some features currently missing in cells, one
609notable one being security groups. The exercises have been patched to
610disable functionality not supported by cells.
611
612Cinder
613~~~~~~
614
615The logical volume group used to hold the Cinder-managed volumes is
616set by ``VOLUME_GROUP``, the logical volume name prefix is set with
617``VOLUME_NAME_PREFIX`` and the size of the volume backing file is set
618with ``VOLUME_BACKING_FILE_SIZE``.
619
620 ::
621
622 VOLUME_GROUP="stack-volumes"
623 VOLUME_NAME_PREFIX="volume-"
624 VOLUME_BACKING_FILE_SIZE=10250M
625
626
627Keystone
628~~~~~~~~
629
630Multi-Region Setup
631++++++++++++++++++
632
633We want to setup two devstack (RegionOne and RegionTwo) with shared
634keystone (same users and services) and horizon. Keystone and Horizon
635will be located in RegionOne. Full spec is available at:
636`<https://wiki.openstack.org/wiki/Heat/Blueprints/Multi_Region_Support_for_Heat>`__.
637
638In RegionOne:
639
640::
641
642 REGION_NAME=RegionOne
643
644In RegionTwo:
645
646::
647
648 disable_service horizon
649 KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
650 KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
651 REGION_NAME=RegionTwo