blob: d70d3dae1721767a4e6e3c32a43b5da1752d043f [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
47
48The file is processed strictly in sequence; meta-sections may be
49specified more than once but if any settings are duplicated the last to
50appear in the file will be used.
51
52::
53
54 [[post-config|$NOVA_CONF]]
55 [DEFAULT]
56 use_syslog = True
57
58 [osapi_v3]
59 enabled = False
60
61A specific meta-section ``local|localrc`` is used to provide a default
62``localrc`` file (actually ``.localrc.auto``). This allows all custom
63settings for DevStack to be contained in a single file. If ``localrc``
64exists it will be used instead to preserve backward-compatibility. More
Dean Troyerea3cdfa2014-11-08 08:29:16 -060065details on the :doc:`contents of local.conf <local.conf>` are available.
Sean M. Collins09e550c2014-10-21 11:40:08 -040066
67::
68
69 [[local|localrc]]
70 FIXED_RANGE=10.254.1.0/24
71 ADMIN_PASSWORD=speciale
72 LOGFILE=$DEST/logs/stack.sh.log
73
74Note that ``Q_PLUGIN_CONF_FILE`` is unique in that it is assumed to
75*NOT* start with a ``/`` (slash) character. A slash will need to be
76added:
77
78::
79
80 [[post-config|/$Q_PLUGIN_CONF_FILE]]
81
82Also note that the ``localrc`` section is sourced as a shell script
Juan Antonio Osorio Roblesfe6dccb2014-11-28 13:12:14 +020083fragment and MUST conform to the shell requirements, specifically no
Sean M. Collins09e550c2014-10-21 11:40:08 -040084whitespace around ``=`` (equals).
85
James Polley5f2eb6d2015-03-30 17:36:26 +110086.. _minimal-configuration:
87
Sean M. Collins09e550c2014-10-21 11:40:08 -040088Minimal Configuration
Sean Dague07d7e5b2014-11-17 07:10:14 -050089=====================
Sean M. Collins09e550c2014-10-21 11:40:08 -040090
91While ``stack.sh`` is happy to run without a ``localrc`` section in
92``local.conf``, devlife is better when there are a few minimal variables
93set. This is an example of a minimal configuration that touches the
94values that most often need to be set.
95
96- no logging
97- pre-set the passwords to prevent interactive prompts
98- move network ranges away from the local network (``FIXED_RANGE`` and
99 ``FLOATING_RANGE``, commented out below)
100- set the host IP if detection is unreliable (``HOST_IP``, commented
101 out below)
102
103::
104
105 [[local|localrc]]
106 ADMIN_PASSWORD=secrete
107 DATABASE_PASSWORD=$ADMIN_PASSWORD
108 RABBIT_PASSWORD=$ADMIN_PASSWORD
109 SERVICE_PASSWORD=$ADMIN_PASSWORD
110 SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
111 #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
205*Note the use of ``DEST`` to locate the main install directory; this
206is why we suggest setting it in ``local.conf``.*
207
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
214to direct the message stream to the log host. |
215
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.
242`mysql` is the default database, choose a different one by putting the
243following in the `localrc` section:
244
245 ::
246
247 disable_service mysql
248 enable_service postgresql
249
250`mysql` is the default database.
251
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::
263 disable_service rabbit
264
265
266Apache Frontend
267---------------
268
269The Apache web server can be enabled for wsgi services that support
270being deployed under HTTPD + mod_wsgi. By default, services that
271recommend running under HTTPD + mod_wsgi are deployed under Apache. To
272use an alternative deployment strategy (e.g. eventlet) for services
273that support an alternative to HTTPD + mod_wsgi set
274``ENABLE_HTTPD_MOD_WSGI_SERVICES`` to ``False`` in your
275``local.conf``.
276
277Each service that can be run under HTTPD + mod_wsgi also has an
278override toggle available that can be set in your ``local.conf``.
279
280Keystone is run under Apache with ``mod_wsgi`` by default.
281
282Example (Keystone)
283
284::
285
286 KEYSTONE_USE_MOD_WSGI="True"
287
288Example (Nova):
289
290::
291
292 NOVA_USE_MOD_WSGI="True"
293
294Example (Swift):
295
296::
297
298 SWIFT_USE_MOD_WSGI="True"
299
Oleksii Chuprykova6928102015-06-11 08:56:58 -0400300Example (Heat):
301
302::
303
304 HEAT_USE_MOD_WSGI="True"
305
Ian Wienand7d5be292015-08-10 13:39:17 +1000306
Anton Arefiev651cb1a2015-09-01 10:55:20 +0300307Example (Cinder):
308
309::
310
311 CINDER_USE_MOD_WSGI="True"
312
Ian Wienand7d5be292015-08-10 13:39:17 +1000313
Sean Dague07d7e5b2014-11-17 07:10:14 -0500314Libraries from Git
315------------------
316
Ian Wienand815db162015-08-06 10:25:45 +1000317By default devstack installs OpenStack server components from git,
318however it installs client libraries from released versions on pypi.
319This is appropriate if you are working on server development, but if
320you want to see how an unreleased version of the client affects the
321system you can have devstack install it from upstream, or from local
322git trees by specifying it in ``LIBS_FROM_GIT``. Multiple libraries
323can be specified as a comma separated list.
Sean Dague07d7e5b2014-11-17 07:10:14 -0500324
325 ::
326
327 LIBS_FROM_GIT=python-keystoneclient,oslo.config
328
Dean Troyer5686dbc2015-03-09 14:27:51 -0500329Virtual Environments
330--------------------
331
Ian Wienand815db162015-08-06 10:25:45 +1000332Enable the use of Python virtual environments by setting ``USE_VENV``
333to ``True``. This will enable the creation of venvs for each project
334that is defined in the ``PROJECT_VENV`` array.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500335
Ian Wienand815db162015-08-06 10:25:45 +1000336Each entry in the ``PROJECT_VENV`` array contains the directory name
337of a venv to be used for the project. The array index is the project
338name. Multiple projects can use the same venv if desired.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500339
340 ::
341
342 PROJECT_VENV["glance"]=${GLANCE_DIR}.venv
343
Ian Wienand815db162015-08-06 10:25:45 +1000344``ADDITIONAL_VENV_PACKAGES`` is a comma-separated list of additional
345packages to be installed into each venv. Often projects will not have
346certain packages listed in its ``requirements.txt`` file because they
347are 'optional' requirements, i.e. only needed for certain
348configurations. By default, the enabled databases will have their
349Python bindings added when they are enabled.
Dean Troyer5686dbc2015-03-09 14:27:51 -0500350
Ian Wienand815db162015-08-06 10:25:45 +1000351 ::
Sean Dague07d7e5b2014-11-17 07:10:14 -0500352
Ian Wienand815db162015-08-06 10:25:45 +1000353 ADDITIONAL_VENV_PACKAGES="python-foo, python-bar"
Sean M. Collins09e550c2014-10-21 11:40:08 -0400354
Sean M. Collins09e550c2014-10-21 11:40:08 -0400355
356A clean install every time
Sean Dague07d7e5b2014-11-17 07:10:14 -0500357--------------------------
358
Ian Wienand815db162015-08-06 10:25:45 +1000359By default ``stack.sh`` only clones the project repos if they do not
360exist in ``$DEST``. ``stack.sh`` will freshen each repo on each run if
361``RECLONE`` is set to ``yes``. This avoids having to manually remove
362repos in order to get the current branch from ``$GIT_BASE``.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400363
364 ::
365
366 RECLONE=yes
367
Chris Dentebdd9ac2015-03-04 12:35:14 +0000368Upgrade packages installed by pip
369---------------------------------
370
Ian Wienand815db162015-08-06 10:25:45 +1000371By default ``stack.sh`` only installs Python packages if no version is
372currently installed or the current version does not match a specified
373requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing
374required Python packages will be upgraded to the most recent version
375that matches requirements.
Chris Dentebdd9ac2015-03-04 12:35:14 +0000376
377 ::
378
379 PIP_UPGRADE=True
380
Sean M. Collins09e550c2014-10-21 11:40:08 -0400381
382Service Catalog Backend
Sean Dague07d7e5b2014-11-17 07:10:14 -0500383-----------------------
384
Ian Wienand815db162015-08-06 10:25:45 +1000385By default DevStack uses Keystone's ``sql`` service catalog backend.
386An alternate ``template`` backend is also available, however, it does
387not support the ``service-*`` and ``endpoint-*`` commands of the
388``keystone`` CLI. To do so requires the ``sql`` backend be enabled
389with ``KEYSTONE_CATALOG_BACKEND``:
Sean M. Collins09e550c2014-10-21 11:40:08 -0400390
391 ::
392
393 KEYSTONE_CATALOG_BACKEND=template
394
Ian Wienand815db162015-08-06 10:25:45 +1000395DevStack's default configuration in ``sql`` mode is set in
396``files/keystone_data.sh``
Sean M. Collins09e550c2014-10-21 11:40:08 -0400397
Sean M. Collins09e550c2014-10-21 11:40:08 -0400398
John Huaa4693b52015-08-06 13:53:35 +0100399Guest Images
400------------
401
402Images provided in URLS via the comma-separated ``IMAGE_URLS``
403variable will be downloaded and uploaded to glance by DevStack.
404
405Default guest-images are predefined for each type of hypervisor and
406their testing-requirements in ``stack.sh``. Setting
407``DOWNLOAD_DEFAULT_IMAGES=False`` will prevent DevStack downloading
408these default images; in that case, you will want to populate
409``IMAGE_URLS`` with sufficient images to satisfy testing-requirements.
410
411 ::
412
413 DOWNLOAD_DEFAULT_IMAGES=False
414 IMAGE_URLS="http://foo.bar.com/image.qcow,"
415 IMAGE_URLS+="http://foo.bar.com/image2.qcow"
416
Rafael Folcof0131e12015-09-23 12:55:02 -0500417
418Instance Type
419-------------
420
421``DEFAULT_INSTANCE_TYPE`` can be used to configure the default instance
422type. When this parameter is not specified, Devstack creates additional
423micro & nano flavors for really small instances to run Tempest tests.
424
425For guests with larger memory requirements, ``DEFAULT_INSTANCE_TYPE``
426should be specified in the configuration file so Tempest selects the
427default flavors instead.
428
429KVM on Power with QEMU 2.4 requires 512 MB to load the firmware -
430`QEMU 2.4 - PowerPC <http://wiki.qemu.org/ChangeLog/2.4>`__ so users
431running instances on ppc64/ppc64le can choose one of the default
432created flavors as follows:
433
434 ::
435
436 DEFAULT_INSTANCE_TYPE=m1.tiny
437
438
John Davidge21529a52014-06-30 09:55:11 -0400439IP Version
Brian Haley180f5eb2015-06-16 13:14:31 -0400440----------
441
Ian Wienand815db162015-08-06 10:25:45 +1000442``IP_VERSION`` can be used to configure DevStack to create either an
443IPv4, IPv6, or dual-stack tenant data-network by with either
444``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
445respectively. This functionality requires that the Neutron networking
446service is enabled by setting the following options:
John Davidge21529a52014-06-30 09:55:11 -0400447
448 ::
449
450 disable_service n-net
451 enable_service q-svc q-agt q-dhcp q-l3
452
Ian Wienand815db162015-08-06 10:25:45 +1000453The following optional variables can be used to alter the default IPv6
454behavior:
John Davidge21529a52014-06-30 09:55:11 -0400455
456 ::
457
458 IPV6_RA_MODE=slaac
459 IPV6_ADDRESS_MODE=slaac
460 FIXED_RANGE_V6=fd$IPV6_GLOBAL_ID::/64
461 IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
462
Ian Wienand815db162015-08-06 10:25:45 +1000463*Note*: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY`` can be
464configured with any valid IPv6 prefix. The default values make use of
465an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
Brian Haley180f5eb2015-06-16 13:14:31 -0400466
Ian Wienand815db162015-08-06 10:25:45 +1000467Service Version
468~~~~~~~~~~~~~~~
469
470DevStack can enable service operation over either IPv4 or IPv6 by
471setting ``SERVICE_IP_VERSION`` to either ``SERVICE_IP_VERSION=4`` or
472``SERVICE_IP_VERSION=6`` respectively.
473
474When set to ``4`` devstack services will open listen sockets on
475``0.0.0.0`` and service endpoints will be registered using ``HOST_IP``
476as the address.
477
478When set to ``6`` devstack services will open listen sockets on ``::``
479and service endpoints will be registered using ``HOST_IPV6`` as the
480address.
481
482The default value for this setting is ``4``. Dual-mode support, for
483example ``4+6`` is not currently supported. ``HOST_IPV6`` can
484optionally be used to alter the default IPv6 address
Brian Haley180f5eb2015-06-16 13:14:31 -0400485
486 ::
487
488 HOST_IPV6=${some_local_ipv6_address}
John Davidge21529a52014-06-30 09:55:11 -0400489
Ian Wienand7d5be292015-08-10 13:39:17 +1000490Multi-node setup
491~~~~~~~~~~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400492
Ian Wienand7d5be292015-08-10 13:39:17 +1000493See the :doc:`multi-node lab guide<guides/multinode-lab>`
Sean M. Collins09e550c2014-10-21 11:40:08 -0400494
Ian Wienand7d5be292015-08-10 13:39:17 +1000495Projects
496--------
Sean M. Collins09e550c2014-10-21 11:40:08 -0400497
Ian Wienand7d5be292015-08-10 13:39:17 +1000498Neutron
499~~~~~~~
Sean M. Collins09e550c2014-10-21 11:40:08 -0400500
Ian Wienand7d5be292015-08-10 13:39:17 +1000501See the :doc:`neutron configuration guide<guides/neutron>` for
502details on configuration of Neutron
Sean M. Collins09e550c2014-10-21 11:40:08 -0400503
Sean M. Collins09e550c2014-10-21 11:40:08 -0400504
Ian Wienand7d5be292015-08-10 13:39:17 +1000505Swift
506~~~~~
507
508Swift is disabled by default. When enabled, it is configured with
509only one replica to avoid being IO/memory intensive on a small
510VM. When running with only one replica the account, container and
511object services will run directly in screen. The others services like
512replicator, updaters or auditor runs in background.
513
514If you would like to enable Swift you can add this to your `localrc`
515section:
516
517::
518
519 enable_service s-proxy s-object s-container s-account
520
521If you want a minimal Swift install with only Swift and Keystone you
522can have this instead in your `localrc` section:
523
524::
525
526 disable_all_services
527 enable_service key mysql s-proxy s-object s-container s-account
528
529If you only want to do some testing of a real normal swift cluster
530with multiple replicas you can do so by customizing the variable
531`SWIFT_REPLICAS` in your `localrc` section (usually to 3).
532
533Swift S3
534++++++++
535
536If you are enabling `swift3` in `ENABLED_SERVICES` DevStack will
537install the swift3 middleware emulation. Swift will be configured to
538act as a S3 endpoint for Keystone so effectively replacing the
539`nova-objectstore`.
540
541Only Swift proxy server is launched in the screen session all other
542services are started in background and managed by `swift-init` tool.
543
544Heat
545~~~~
546
547Heat is disabled by default (see `stackrc` file). To enable it
548explicitly you'll need the following settings in your `localrc`
549section
550
551::
552
553 enable_service heat h-api h-api-cfn h-api-cw h-eng
554
555Heat can also run in standalone mode, and be configured to orchestrate
556on an external OpenStack cloud. To launch only Heat in standalone mode
557you'll need the following settings in your `localrc` section
558
559::
560
561 disable_all_services
562 enable_service rabbit mysql heat h-api h-api-cfn h-api-cw h-eng
563 HEAT_STANDALONE=True
564 KEYSTONE_SERVICE_HOST=...
565 KEYSTONE_AUTH_HOST=...
566
567Tempest
568~~~~~~~
569
570If tempest has been successfully configured, a basic set of smoke
571tests can be run as follows:
572
573::
574
575 $ cd /opt/stack/tempest
576 $ tox -efull tempest.scenario.test_network_basic_ops
577
578By default tempest is downloaded and the config file is generated, but the
579tempest package is not installed in the system's global site-packages (the
580package install includes installing dependences). So tempest won't run
581outside of tox. If you would like to install it add the following to your
582``localrc`` section:
583
584::
585
586 INSTALL_TEMPEST=True
587
588
589Xenserver
590~~~~~~~~~
591
592If you would like to use Xenserver as the hypervisor, please refer to
593the instructions in `./tools/xen/README.md`.
594
595Cells
596~~~~~
597
598`Cells <http://wiki.openstack.org/blueprint-nova-compute-cells>`__ is
599an alternative scaling option. To setup a cells environment add the
600following to your `localrc` section:
601
602::
603
604 enable_service n-cell
605
606Be aware that there are some features currently missing in cells, one
607notable one being security groups. The exercises have been patched to
608disable functionality not supported by cells.
609
610Cinder
611~~~~~~
612
613The logical volume group used to hold the Cinder-managed volumes is
614set by ``VOLUME_GROUP``, the logical volume name prefix is set with
615``VOLUME_NAME_PREFIX`` and the size of the volume backing file is set
616with ``VOLUME_BACKING_FILE_SIZE``.
617
618 ::
619
620 VOLUME_GROUP="stack-volumes"
621 VOLUME_NAME_PREFIX="volume-"
622 VOLUME_BACKING_FILE_SIZE=10250M
623
624
625Keystone
626~~~~~~~~
627
628Multi-Region Setup
629++++++++++++++++++
630
631We want to setup two devstack (RegionOne and RegionTwo) with shared
632keystone (same users and services) and horizon. Keystone and Horizon
633will be located in RegionOne. Full spec is available at:
634`<https://wiki.openstack.org/wiki/Heat/Blueprints/Multi_Region_Support_for_Heat>`__.
635
636In RegionOne:
637
638::
639
640 REGION_NAME=RegionOne
641
642In RegionTwo:
643
644::
645
646 disable_service horizon
647 KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
648 KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
649 REGION_NAME=RegionTwo