Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 1 | Write the local.conf file for use by devstack |
| 2 | |
| 3 | **Role Variables** |
| 4 | |
| 5 | .. zuul:rolevar:: devstack_base_dir |
| 6 | :default: /opt/stack |
| 7 | |
| 8 | The devstack base directory. |
| 9 | |
| 10 | .. zuul:rolevar:: devstack_local_conf_path |
| 11 | :default: {{ devstack_base_dir }}/devstack/local.conf |
| 12 | |
| 13 | The path of the local.conf file. |
| 14 | |
| 15 | .. zuul:rolevar:: devstack_localrc |
| 16 | :type: dict |
| 17 | |
| 18 | A dictionary of variables that should be written to the localrc |
| 19 | section of local.conf. The values (which are strings) may contain |
| 20 | bash shell variables, and will be ordered so that variables used by |
| 21 | later entries appear first. |
| 22 | |
James E. Blair | e1edde3 | 2018-03-02 15:05:14 +0000 | [diff] [blame^] | 23 | As a special case, the variable ``LIBS_FROM_GIT`` will be |
| 24 | constructed automatically from the projects which appear in the |
| 25 | ``required-projects`` list defined by the job. To instruct |
| 26 | devstack to install a library from source rather than pypi, simply |
| 27 | add that library to the job's ``required-projects`` list. To |
| 28 | override the automatically-generated value, set ``LIBS_FROM_GIT`` |
| 29 | in ``devstack_localrc`` to the desired value. |
| 30 | |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 31 | .. zuul:rolevar:: devstack_local_conf |
| 32 | :type: dict |
| 33 | |
| 34 | A complex argument consisting of nested dictionaries which combine |
| 35 | to form the meta-sections of the local_conf file. The top level is |
| 36 | a dictionary of phases, followed by dictionaries of filenames, then |
| 37 | sections, which finally contain key-value pairs for the INI file |
| 38 | entries in those sections. |
| 39 | |
| 40 | The keys in this dictionary are the devstack phases. |
| 41 | |
| 42 | .. zuul:rolevar:: [phase] |
| 43 | :type: dict |
| 44 | |
| 45 | The keys in this dictionary are the filenames for this phase. |
| 46 | |
| 47 | .. zuul:rolevar:: [filename] |
| 48 | :type: dict |
| 49 | |
| 50 | The keys in this dictionary are the INI sections in this file. |
| 51 | |
| 52 | .. zuul:rolevar:: [section] |
| 53 | :type: dict |
| 54 | |
| 55 | This is a dictionary of key-value pairs which comprise |
| 56 | this section of the INI file. |
| 57 | |
Andrea Frittoli (andreaf) | 7d44465 | 2017-12-01 17:36:38 +0000 | [diff] [blame] | 58 | .. zuul:rolevar:: devstack_base_services |
| 59 | :type: list |
| 60 | :default: {{ base_services | default(omit) }} |
| 61 | |
| 62 | A list of base services which are enabled. Services can be added or removed |
| 63 | from this list via the ``devstack_services`` variable. This is ignored if |
| 64 | ``base`` is set to ``False`` in ``devstack_services``. |
| 65 | |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 66 | .. zuul:rolevar:: devstack_services |
| 67 | :type: dict |
| 68 | |
| 69 | A dictionary mapping service names to boolean values. If the |
| 70 | boolean value is ``false``, a ``disable_service`` line will be |
| 71 | emitted for the service name. If it is ``true``, then |
Andrea Frittoli (andreaf) | 5551170 | 2017-11-30 15:49:39 +0000 | [diff] [blame] | 72 | ``enable_service`` will be emitted. All other values are ignored. |
Andrea Frittoli (andreaf) | 7d44465 | 2017-12-01 17:36:38 +0000 | [diff] [blame] | 73 | |
Andrea Frittoli (andreaf) | 5551170 | 2017-11-30 15:49:39 +0000 | [diff] [blame] | 74 | The special key ``base`` can be used to enable or disable the base set of |
| 75 | services enabled by default. If ``base`` is found, it will processed before |
| 76 | all other keys. If its value is ``False`` a ``disable_all_services`` will be |
Andrea Frittoli (andreaf) | 7d44465 | 2017-12-01 17:36:38 +0000 | [diff] [blame] | 77 | emitted; if its value is ``True`` services from ``devstack_base_services`` |
| 78 | will be emitted via ``ENABLED_SERVICES``. |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 79 | |
| 80 | .. zuul:rolevar:: devstack_plugins |
| 81 | :type: dict |
| 82 | |
| 83 | A dictionary mapping a plugin name to a git repo location. If the |
| 84 | location is a non-empty string, then an ``enable_plugin`` line will |
| 85 | be emmitted for the plugin name. |
James E. Blair | e1edde3 | 2018-03-02 15:05:14 +0000 | [diff] [blame^] | 86 | |
| 87 | If a plugin declares a dependency on another plugin (via |
| 88 | ``plugin_requires`` in the plugin's settings file), this role will |
| 89 | automatically emit ``enable_plugin`` lines in the correct order. |