devstack/roles/write-devstack-local-conf/README.rst
Luigi Toscano 70d043dd60 zuul: new variable to easily populate TEMPEST_PLUGINS
TEMPEST_PLUGINS contains the list of the tempest plugins installed
alongside tempest by lib/tempest.
If TEMPEST_PLUGINS is not explicitly set, the new tempest_plugins
variable is used to fill it by combining its items with
the base devstack path.

Change-Id: I9f1fa2755e16871ff9d6ba33fdeaf3023eedf8d4
2019-03-12 22:25:44 +01:00

100 lines
3.6 KiB
ReStructuredText

Write the local.conf file for use by devstack
**Role Variables**
.. zuul:rolevar:: devstack_base_dir
:default: /opt/stack
The devstack base directory.
.. zuul:rolevar:: devstack_local_conf_path
:default: {{ devstack_base_dir }}/devstack/local.conf
The path of the local.conf file.
.. zuul:rolevar:: devstack_localrc
:type: dict
A dictionary of variables that should be written to the localrc
section of local.conf. The values (which are strings) may contain
bash shell variables, and will be ordered so that variables used by
later entries appear first.
As a special case, the variable ``LIBS_FROM_GIT`` will be
constructed automatically from the projects which appear in the
``required-projects`` list defined by the job plus the project of
the change under test. To instruct devstack to install a library
from source rather than pypi, simply add that library to the job's
``required-projects`` list. To override the
automatically-generated value, set ``LIBS_FROM_GIT`` in
``devstack_localrc`` to the desired value.
.. zuul:rolevar:: devstack_local_conf
:type: dict
A complex argument consisting of nested dictionaries which combine
to form the meta-sections of the local_conf file. The top level is
a dictionary of phases, followed by dictionaries of filenames, then
sections, which finally contain key-value pairs for the INI file
entries in those sections.
The keys in this dictionary are the devstack phases.
.. zuul:rolevar:: [phase]
:type: dict
The keys in this dictionary are the filenames for this phase.
.. zuul:rolevar:: [filename]
:type: dict
The keys in this dictionary are the INI sections in this file.
.. zuul:rolevar:: [section]
:type: dict
This is a dictionary of key-value pairs which comprise
this section of the INI file.
.. zuul:rolevar:: devstack_base_services
:type: list
:default: {{ base_services | default(omit) }}
A list of base services which are enabled. Services can be added or removed
from this list via the ``devstack_services`` variable. This is ignored if
``base`` is set to ``False`` in ``devstack_services``.
.. zuul:rolevar:: devstack_services
:type: dict
A dictionary mapping service names to boolean values. If the
boolean value is ``false``, a ``disable_service`` line will be
emitted for the service name. If it is ``true``, then
``enable_service`` will be emitted. All other values are ignored.
The special key ``base`` can be used to enable or disable the base set of
services enabled by default. If ``base`` is found, it will processed before
all other keys. If its value is ``False`` a ``disable_all_services`` will be
emitted; if its value is ``True`` services from ``devstack_base_services``
will be emitted via ``ENABLED_SERVICES``.
.. zuul:rolevar:: devstack_plugins
:type: dict
A dictionary mapping a plugin name to a git repo location. If the
location is a non-empty string, then an ``enable_plugin`` line will
be emmitted for the plugin name.
If a plugin declares a dependency on another plugin (via
``plugin_requires`` in the plugin's settings file), this role will
automatically emit ``enable_plugin`` lines in the correct order.
.. zuul:rolevar:: tempest_plugins
:type: list
A list of tempest plugins which are installed alongside tempest.
The list of values will be combined with the base devstack directory
and used to populate the ``TEMPEST_PLUGINS`` variable. If the variable
already exists, its value is *not* changed.