| Dean Troyer | 0986a7b | 2014-10-29 22:08:13 -0500 | [diff] [blame] | 1 | ============= | 
 | 2 | Configuration | 
 | 3 | ============= | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 4 |  | 
 | 5 | DevStack has always tried to be mostly-functional with a minimal amount | 
 | 6 | of configuration. The number of options has ballooned as projects add | 
 | 7 | features, new projects added and more combinations need to be tested. | 
 | 8 | Historically DevStack obtained all local configuration and | 
 | 9 | customizations from a ``localrc`` file. The number of configuration | 
 | 10 | variables that are simply passed-through to the individual project | 
 | 11 | configuration files is also increasing. The old mechanism for this | 
 | 12 | (``EXTRAS_OPTS`` and friends) required specific code for each file and | 
 | 13 | did not scale well. | 
 | 14 |  | 
 | 15 | In Oct 2013 a new configuration method was introduced (in `review | 
 | 16 | 46768 <https://review.openstack.org/#/c/46768/>`__) to hopefully | 
 | 17 | simplify this process and meet the following goals: | 
 | 18 |  | 
 | 19 | -  contain all non-default local configuration in a single file | 
 | 20 | -  be backward-compatible with ``localrc`` to smooth the transition | 
 | 21 |    process | 
 | 22 | -  allow settings in arbitrary configuration files to be changed | 
 | 23 |  | 
 | 24 | local.conf | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 25 | ========== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 26 |  | 
 | 27 | The new configuration file is ``local.conf`` and resides in the root | 
 | 28 | DevStack directory like the old ``localrc`` file. It is a modified INI | 
 | 29 | format file that introduces a meta-section header to carry additional | 
 | 30 | information regarding the configuration files to be changed. | 
 | 31 |  | 
 | 32 | The new header is similar to a normal INI section header but with double | 
 | 33 | brackets (``[[ ... ]]``) and two internal fields separated by a pipe | 
 | 34 | (``|``): | 
 | 35 |  | 
 | 36 | :: | 
 | 37 |  | 
 | 38 |     [[ <phase> | <config-file-name> ]] | 
 | 39 |  | 
 | 40 | where ``<phase>`` is one of a set of phase names defined by ``stack.sh`` | 
 | 41 | and ``<config-file-name>`` is the configuration filename. The filename | 
 | 42 | is eval'ed in the ``stack.sh`` context so all environment variables are | 
 | 43 | available and may be used. Using the project config file variables in | 
 | 44 | the header is strongly suggested (see the ``NOVA_CONF`` example below). | 
 | 45 | If the path of the config file does not exist it is skipped. | 
 | 46 |  | 
 | 47 | The defined phases are: | 
 | 48 |  | 
 | 49 | -  **local** - extracts ``localrc`` from ``local.conf`` before | 
 | 50 |    ``stackrc`` is sourced | 
 | 51 | -  **pre-install** - runs after the system packages are installed but | 
 | 52 |    before any of the source repositories are installed | 
 | 53 | -  **install** - runs immediately after the repo installations are | 
 | 54 |    complete | 
 | 55 | -  **post-config** - runs after the layer 2 services are configured and | 
 | 56 |    before they are started | 
 | 57 | -  **extra** - runs after services are started and before any files in | 
 | 58 |    ``extra.d`` are executed | 
 | 59 |  | 
 | 60 | The file is processed strictly in sequence; meta-sections may be | 
 | 61 | specified more than once but if any settings are duplicated the last to | 
 | 62 | appear in the file will be used. | 
 | 63 |  | 
 | 64 | :: | 
 | 65 |  | 
 | 66 |     [[post-config|$NOVA_CONF]] | 
 | 67 |     [DEFAULT] | 
 | 68 |     use_syslog = True | 
 | 69 |  | 
 | 70 |     [osapi_v3] | 
 | 71 |     enabled = False | 
 | 72 |  | 
 | 73 | A specific meta-section ``local|localrc`` is used to provide a default | 
 | 74 | ``localrc`` file (actually ``.localrc.auto``). This allows all custom | 
 | 75 | settings for DevStack to be contained in a single file. If ``localrc`` | 
 | 76 | exists it will be used instead to preserve backward-compatibility. More | 
| Dean Troyer | ea3cdfa | 2014-11-08 08:29:16 -0600 | [diff] [blame] | 77 | details on the :doc:`contents of local.conf <local.conf>` are available. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 78 |  | 
 | 79 | :: | 
 | 80 |  | 
 | 81 |     [[local|localrc]] | 
 | 82 |     FIXED_RANGE=10.254.1.0/24 | 
 | 83 |     ADMIN_PASSWORD=speciale | 
 | 84 |     LOGFILE=$DEST/logs/stack.sh.log | 
 | 85 |  | 
 | 86 | Note that ``Q_PLUGIN_CONF_FILE`` is unique in that it is assumed to | 
 | 87 | *NOT* start with a ``/`` (slash) character. A slash will need to be | 
 | 88 | added: | 
 | 89 |  | 
 | 90 | :: | 
 | 91 |  | 
 | 92 |     [[post-config|/$Q_PLUGIN_CONF_FILE]] | 
 | 93 |  | 
 | 94 | Also note that the ``localrc`` section is sourced as a shell script | 
| Juan Antonio Osorio Robles | fe6dccb | 2014-11-28 13:12:14 +0200 | [diff] [blame] | 95 | fragment and MUST conform to the shell requirements, specifically no | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 96 | whitespace around ``=`` (equals). | 
 | 97 |  | 
| James Polley | 5f2eb6d | 2015-03-30 17:36:26 +1100 | [diff] [blame] | 98 | .. _minimal-configuration: | 
 | 99 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 100 | Minimal Configuration | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 101 | ===================== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 102 |  | 
 | 103 | While ``stack.sh`` is happy to run without a ``localrc`` section in | 
 | 104 | ``local.conf``, devlife is better when there are a few minimal variables | 
 | 105 | set. This is an example of a minimal configuration that touches the | 
 | 106 | values that most often need to be set. | 
 | 107 |  | 
 | 108 | -  no logging | 
 | 109 | -  pre-set the passwords to prevent interactive prompts | 
 | 110 | -  move network ranges away from the local network (``FIXED_RANGE`` and | 
 | 111 |    ``FLOATING_RANGE``, commented out below) | 
 | 112 | -  set the host IP if detection is unreliable (``HOST_IP``, commented | 
 | 113 |    out below) | 
 | 114 |  | 
 | 115 | :: | 
 | 116 |  | 
 | 117 |     [[local|localrc]] | 
 | 118 |     ADMIN_PASSWORD=secrete | 
 | 119 |     DATABASE_PASSWORD=$ADMIN_PASSWORD | 
 | 120 |     RABBIT_PASSWORD=$ADMIN_PASSWORD | 
 | 121 |     SERVICE_PASSWORD=$ADMIN_PASSWORD | 
 | 122 |     SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50 | 
 | 123 |     #FIXED_RANGE=172.31.1.0/24 | 
 | 124 |     #FLOATING_RANGE=192.168.20.0/25 | 
 | 125 |     #HOST_IP=10.3.4.5 | 
 | 126 |  | 
 | 127 | If the ``*_PASSWORD`` variables are not set here you will be prompted to | 
 | 128 | enter values for them by ``stack.sh``. | 
 | 129 |  | 
 | 130 | The network ranges must not overlap with any networks in use on the | 
 | 131 | host. Overlap is not uncommon as RFC-1918 'private' ranges are commonly | 
 | 132 | used for both the local networking and Nova's fixed and floating ranges. | 
 | 133 |  | 
 | 134 | ``HOST_IP`` is normally detected on the first run of ``stack.sh`` but | 
 | 135 | often is indeterminate on later runs due to the IP being moved from an | 
| Juan Antonio Osorio Robles | fe6dccb | 2014-11-28 13:12:14 +0200 | [diff] [blame] | 136 | Ethernet interface to a bridge on the host. Setting it here also makes it | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 137 | available for ``openrc`` to set ``OS_AUTH_URL``. ``HOST_IP`` is not set | 
 | 138 | by default. | 
 | 139 |  | 
 | 140 | Common Configuration Variables | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 141 | ============================== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 142 |  | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 143 | Installation Directory | 
 | 144 | ---------------------- | 
 | 145 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 146 |     | *Default: ``DEST=/opt/stack``* | 
 | 147 |     |  The DevStack install directory is set by the ``DEST`` variable. | 
 | 148 |     |  By setting it early in the ``localrc`` section you can reference it | 
 | 149 |        in later variables. It can be useful to set it even though it is not | 
 | 150 |        changed from the default value. | 
 | 151 |     | | 
 | 152 |  | 
 | 153 |     :: | 
 | 154 |  | 
 | 155 |         DEST=/opt/stack | 
 | 156 |  | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 157 | Libraries from Git | 
 | 158 | ------------------ | 
 | 159 |  | 
 | 160 |    | *Default: ``LIBS_FROM_GIT=""``* | 
 | 161 |  | 
 | 162 |    | By default devstack installs OpenStack server components from | 
 | 163 |      git, however it installs client libraries from released versions | 
 | 164 |      on pypi. This is appropriate if you are working on server | 
 | 165 |      development, but if you want to see how an unreleased version of | 
 | 166 |      the client affects the system you can have devstack install it | 
 | 167 |      from upstream, or from local git trees. | 
 | 168 |    | Multiple libraries can be specified as a comma separated list. | 
 | 169 |    | | 
 | 170 |  | 
 | 171 |    :: | 
 | 172 |  | 
 | 173 |       LIBS_FROM_GIT=python-keystoneclient,oslo.config | 
 | 174 |  | 
| Dean Troyer | 5686dbc | 2015-03-09 14:27:51 -0500 | [diff] [blame] | 175 | Virtual Environments | 
 | 176 | -------------------- | 
 | 177 |  | 
 | 178 |   | *Default: ``USE_VENV=False``* | 
 | 179 |   |   Enable the use of Python virtual environments by setting ``USE_VENV`` | 
 | 180 |       to ``True``.  This will enable the creation of venvs for each project | 
 | 181 |       that is defined in the ``PROJECT_VENV`` array. | 
 | 182 |  | 
 | 183 |   | *Default: ``PROJECT_VENV['<project>']='<project-dir>.venv'* | 
 | 184 |   |   Each entry in the ``PROJECT_VENV`` array contains the directory name | 
 | 185 |       of a venv to be used for the project.  The array index is the project | 
 | 186 |       name.  Multiple projects can use the same venv if desired. | 
 | 187 |  | 
 | 188 |   :: | 
 | 189 |  | 
 | 190 |     PROJECT_VENV["glance"]=${GLANCE_DIR}.venv | 
 | 191 |  | 
 | 192 |   | *Default: ``ADDITIONAL_VENV_PACKAGES=""``* | 
 | 193 |   |   A comma-separated list of additional packages to be installed into each | 
 | 194 |       venv.  Often projects will not have certain packages listed in its | 
 | 195 |       ``requirements.txt`` file because they are 'optional' requirements, | 
 | 196 |       i.e. only needed for certain configurations.  By default, the enabled | 
 | 197 |       databases will have their Python bindings added when they are enabled. | 
 | 198 |  | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 199 | Enable Logging | 
 | 200 | -------------- | 
 | 201 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 202 |     | *Defaults: ``LOGFILE="" LOGDAYS=7 LOG_COLOR=True``* | 
 | 203 |     |  By default ``stack.sh`` output is only written to the console | 
 | 204 |        where is runs. It can be sent to a file in addition to the console | 
 | 205 |        by setting ``LOGFILE`` to the fully-qualified name of the | 
 | 206 |        destination log file. A timestamp will be appended to the given | 
 | 207 |        filename for each run of ``stack.sh``. | 
 | 208 |     | | 
 | 209 |  | 
 | 210 |     :: | 
 | 211 |  | 
 | 212 |         LOGFILE=$DEST/logs/stack.sh.log | 
 | 213 |  | 
 | 214 |     Old log files are cleaned automatically if ``LOGDAYS`` is set to the | 
 | 215 |     number of days of old log files to keep. | 
 | 216 |  | 
 | 217 |     :: | 
 | 218 |  | 
 | 219 |         LOGDAYS=1 | 
 | 220 |  | 
 | 221 |     The some of the project logs (Nova, Cinder, etc) will be colorized | 
 | 222 |     by default (if ``SYSLOG`` is not set below); this can be turned off | 
 | 223 |     by setting ``LOG_COLOR`` False. | 
 | 224 |  | 
 | 225 |     :: | 
 | 226 |  | 
 | 227 |         LOG_COLOR=False | 
 | 228 |  | 
| Dean Troyer | dde41d0 | 2014-12-09 17:47:57 -0600 | [diff] [blame] | 229 | Logging the Service Output | 
 | 230 | -------------------------- | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 231 |  | 
| Dean Troyer | dde41d0 | 2014-12-09 17:47:57 -0600 | [diff] [blame] | 232 |     | *Default: ``LOGDIR=""``* | 
 | 233 |     |  DevStack will log the stdout output of the services it starts. | 
 | 234 |        When using ``screen`` this logs the output in the screen windows | 
 | 235 |        to a file.  Without ``screen`` this simply redirects stdout of | 
 | 236 |        the service process to a file in ``LOGDIR``. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 237 |     | | 
 | 238 |  | 
 | 239 |     :: | 
 | 240 |  | 
| Dean Troyer | dde41d0 | 2014-12-09 17:47:57 -0600 | [diff] [blame] | 241 |         LOGDIR=$DEST/logs | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 242 |  | 
 | 243 |     *Note the use of ``DEST`` to locate the main install directory; this | 
 | 244 |     is why we suggest setting it in ``local.conf``.* | 
 | 245 |  | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 246 | Enabling Syslog | 
 | 247 | --------------- | 
 | 248 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 249 |     | *Default: ``SYSLOG=False SYSLOG_HOST=$HOST_IP SYSLOG_PORT=516``* | 
 | 250 |     |  Logging all services to a single syslog can be convenient. Enable | 
 | 251 |        syslogging by setting ``SYSLOG`` to ``True``. If the destination log | 
 | 252 |        host is not localhost ``SYSLOG_HOST`` and ``SYSLOG_PORT`` can be | 
 | 253 |        used to direct the message stream to the log host. | 
 | 254 |     | | 
 | 255 |  | 
 | 256 |     :: | 
 | 257 |  | 
 | 258 |         SYSLOG=True | 
 | 259 |         SYSLOG_HOST=$HOST_IP | 
 | 260 |         SYSLOG_PORT=516 | 
 | 261 |  | 
 | 262 | A clean install every time | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 263 | -------------------------- | 
 | 264 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 265 |     | *Default: ``RECLONE=""``* | 
 | 266 |     |  By default ``stack.sh`` only clones the project repos if they do | 
 | 267 |        not exist in ``$DEST``. ``stack.sh`` will freshen each repo on each | 
 | 268 |        run if ``RECLONE`` is set to ``yes``. This avoids having to manually | 
 | 269 |        remove repos in order to get the current branch from ``$GIT_BASE``. | 
 | 270 |     | | 
 | 271 |  | 
 | 272 |     :: | 
 | 273 |  | 
 | 274 |         RECLONE=yes | 
 | 275 |  | 
| Chris Dent | ebdd9ac | 2015-03-04 12:35:14 +0000 | [diff] [blame] | 276 | Upgrade packages installed by pip | 
 | 277 | --------------------------------- | 
 | 278 |  | 
 | 279 |     | *Default: ``PIP_UPGRADE=""``* | 
 | 280 |     |  By default ``stack.sh`` only installs Python packages if no version | 
 | 281 |        is currently installed or the current version does not match a specified | 
 | 282 |        requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing required | 
 | 283 |        Python packages will be upgraded to the most recent version that | 
 | 284 |        matches requirements. | 
 | 285 |     | | 
 | 286 |  | 
 | 287 |     :: | 
 | 288 |  | 
 | 289 |         PIP_UPGRADE=True | 
 | 290 |  | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 291 | Swift | 
 | 292 | ----- | 
 | 293 |  | 
 | 294 |     | Default: SWIFT_HASH="" | 
 | 295 |     | SWIFT_REPLICAS=1 | 
 | 296 |     | SWIFT_DATA_DIR=$DEST/data/swift | 
 | 297 |  | 
 | 298 |     | Swift is now used as the back-end for the S3-like object store. | 
 | 299 |       When enabled Nova's objectstore (n-obj in ENABLED_SERVICES) is | 
 | 300 |       automatically disabled. Enable Swift by adding it services to | 
 | 301 |       ENABLED_SERVICES: enable_service s-proxy s-object s-container | 
 | 302 |       s-account | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 303 |  | 
 | 304 |     Setting Swift's hash value is required and you will be prompted for | 
 | 305 |     it if Swift is enabled so just set it to something already: | 
 | 306 |  | 
 | 307 |     :: | 
 | 308 |  | 
 | 309 |         SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5 | 
 | 310 |  | 
 | 311 |     For development purposes the default number of replicas is set to | 
 | 312 |     ``1`` to reduce the overhead required. To better simulate a | 
 | 313 |     production deployment set this to ``3`` or more. | 
 | 314 |  | 
 | 315 |     :: | 
 | 316 |  | 
 | 317 |         SWIFT_REPLICAS=3 | 
 | 318 |  | 
 | 319 |     The data for Swift is stored in the source tree by default (in | 
 | 320 |     ``$DEST/swift/data``) and can be moved by setting | 
 | 321 |     ``SWIFT_DATA_DIR``. The specified directory will be created if it | 
 | 322 |     does not exist. | 
 | 323 |  | 
 | 324 |     :: | 
 | 325 |  | 
 | 326 |         SWIFT_DATA_DIR=$DEST/data/swift | 
 | 327 |  | 
 | 328 |     *Note: Previously just enabling ``swift`` was sufficient to start | 
 | 329 |     the Swift services. That does not provide proper service | 
 | 330 |     granularity, particularly in multi-host configurations, and is | 
 | 331 |     considered deprecated. Some service combination tests now check for | 
 | 332 |     specific Swift services and the old blanket acceptance will longer | 
 | 333 |     work correctly.* | 
 | 334 |  | 
 | 335 | Service Catalog Backend | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 336 | ----------------------- | 
 | 337 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 338 |     | *Default: ``KEYSTONE_CATALOG_BACKEND=sql``* | 
 | 339 |     |  DevStack uses Keystone's ``sql`` service catalog backend. An | 
 | 340 |        alternate ``template`` backend is also available. However, it does | 
 | 341 |        not support the ``service-*`` and ``endpoint-*`` commands of the | 
 | 342 |        ``keystone`` CLI. To do so requires the ``sql`` backend be enabled: | 
 | 343 |     | | 
 | 344 |  | 
 | 345 |     :: | 
 | 346 |  | 
 | 347 |         KEYSTONE_CATALOG_BACKEND=template | 
 | 348 |  | 
 | 349 |     DevStack's default configuration in ``sql`` mode is set in | 
 | 350 |     ``files/keystone_data.sh`` | 
 | 351 |  | 
 | 352 | Cinder | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 353 | ------ | 
 | 354 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 355 |     | Default: | 
 | 356 |     | VOLUME_GROUP="stack-volumes" VOLUME_NAME_PREFIX="volume-" VOLUME_BACKING_FILE_SIZE=10250M | 
 | 357 |     |  The logical volume group used to hold the Cinder-managed volumes | 
 | 358 |        is set by ``VOLUME_GROUP``, the logical volume name prefix is set | 
 | 359 |        with ``VOLUME_NAME_PREFIX`` and the size of the volume backing file | 
 | 360 |        is set with ``VOLUME_BACKING_FILE_SIZE``. | 
 | 361 |     | | 
 | 362 |  | 
 | 363 |     :: | 
 | 364 |  | 
 | 365 |         VOLUME_GROUP="stack-volumes" | 
 | 366 |         VOLUME_NAME_PREFIX="volume-" | 
 | 367 |         VOLUME_BACKING_FILE_SIZE=10250M | 
 | 368 |  | 
 | 369 | Multi-host DevStack | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 370 | ------------------- | 
 | 371 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 372 |     | *Default: ``MULTI_HOST=False``* | 
 | 373 |     |  Running DevStack with multiple hosts requires a custom | 
 | 374 |        ``local.conf`` section for each host. The master is the same as a | 
 | 375 |        single host installation with ``MULTI_HOST=True``. The slaves have | 
 | 376 |        fewer services enabled and a couple of host variables pointing to | 
 | 377 |        the master. | 
 | 378 |     |  **Master** | 
 | 379 |  | 
 | 380 |     :: | 
 | 381 |  | 
 | 382 |         MULTI_HOST=True | 
 | 383 |  | 
 | 384 |     **Slave** | 
 | 385 |  | 
 | 386 |     :: | 
 | 387 |  | 
 | 388 |         MYSQL_HOST=w.x.y.z | 
 | 389 |         RABBIT_HOST=w.x.y.z | 
 | 390 |         GLANCE_HOSTPORT=w.x.y.z:9292 | 
 | 391 |         ENABLED_SERVICES=n-vol,n-cpu,n-net,n-api | 
 | 392 |  | 
| John Davidge | 21529a5 | 2014-06-30 09:55:11 -0400 | [diff] [blame] | 393 | IP Version | 
 | 394 |     | Default: ``IP_VERSION=4`` | 
 | 395 |     | This setting can be used to configure DevStack to create either an IPv4, | 
 | 396 |       IPv6, or dual stack tenant data network by setting ``IP_VERSION`` to | 
 | 397 |       either ``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6`` | 
 | 398 |       respectively. This functionality requires that the Neutron networking | 
 | 399 |       service is enabled by setting the following options: | 
 | 400 |     | | 
 | 401 |  | 
 | 402 |     :: | 
 | 403 |  | 
 | 404 |         disable_service n-net | 
 | 405 |         enable_service q-svc q-agt q-dhcp q-l3 | 
 | 406 |  | 
 | 407 |     | The following optional variables can be used to alter the default IPv6 | 
 | 408 |       behavior: | 
 | 409 |     | | 
 | 410 |  | 
 | 411 |     :: | 
 | 412 |  | 
 | 413 |         IPV6_RA_MODE=slaac | 
 | 414 |         IPV6_ADDRESS_MODE=slaac | 
 | 415 |         FIXED_RANGE_V6=fd$IPV6_GLOBAL_ID::/64 | 
 | 416 |         IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1 | 
 | 417 |  | 
 | 418 |     | *Note: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY`` | 
 | 419 |       can be configured with any valid IPv6 prefix. The default values make | 
 | 420 |       use of an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC 4193.* | 
 | 421 |  | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 422 | Examples | 
| Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 423 | ======== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 424 |  | 
 | 425 | -  Eliminate a Cinder pass-through (``CINDER_PERIODIC_INTERVAL``): | 
 | 426 |  | 
 | 427 |    :: | 
 | 428 |  | 
 | 429 |        [[post-config|$CINDER_CONF]] | 
 | 430 |        [DEFAULT] | 
 | 431 |        periodic_interval = 60 | 
 | 432 |  | 
 | 433 | -  Sample ``local.conf`` with screen logging enabled: | 
 | 434 |  | 
 | 435 |    :: | 
 | 436 |  | 
 | 437 |        [[local|localrc]] | 
 | 438 |        FIXED_RANGE=10.254.1.0/24 | 
 | 439 |        NETWORK_GATEWAY=10.254.1.1 | 
 | 440 |        LOGDAYS=1 | 
| Dean Troyer | dde41d0 | 2014-12-09 17:47:57 -0600 | [diff] [blame] | 441 |        LOGDIR=$DEST/logs | 
 | 442 |        LOGFILE=$LOGDIR/stack.sh.log | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 443 |        ADMIN_PASSWORD=quiet | 
 | 444 |        DATABASE_PASSWORD=$ADMIN_PASSWORD | 
 | 445 |        RABBIT_PASSWORD=$ADMIN_PASSWORD | 
 | 446 |        SERVICE_PASSWORD=$ADMIN_PASSWORD | 
 | 447 |        SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50 |