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.