| 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 | 
| James E. Blair | 8e5f8c2 | 2018-06-15 10:10:35 -0700 | [diff] [blame] | 25 | ``required-projects`` list defined by the job plus the project of | 
|  | 26 | the change under test.  To instruct devstack to install a library | 
|  | 27 | from source rather than pypi, simply add that library to the job's | 
|  | 28 | ``required-projects`` list.  To override the | 
|  | 29 | automatically-generated value, set ``LIBS_FROM_GIT`` in | 
|  | 30 | ``devstack_localrc`` to the desired value. | 
| James E. Blair | e1edde3 | 2018-03-02 15:05:14 +0000 | [diff] [blame] | 31 |  | 
| Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 32 | .. zuul:rolevar:: devstack_local_conf | 
|  | 33 | :type: dict | 
|  | 34 |  | 
|  | 35 | A complex argument consisting of nested dictionaries which combine | 
|  | 36 | to form the meta-sections of the local_conf file.  The top level is | 
|  | 37 | a dictionary of phases, followed by dictionaries of filenames, then | 
|  | 38 | sections, which finally contain key-value pairs for the INI file | 
|  | 39 | entries in those sections. | 
|  | 40 |  | 
|  | 41 | The keys in this dictionary are the devstack phases. | 
|  | 42 |  | 
|  | 43 | .. zuul:rolevar:: [phase] | 
|  | 44 | :type: dict | 
|  | 45 |  | 
|  | 46 | The keys in this dictionary are the filenames for this phase. | 
|  | 47 |  | 
|  | 48 | .. zuul:rolevar:: [filename] | 
|  | 49 | :type: dict | 
|  | 50 |  | 
|  | 51 | The keys in this dictionary are the INI sections in this file. | 
|  | 52 |  | 
|  | 53 | .. zuul:rolevar:: [section] | 
|  | 54 | :type: dict | 
|  | 55 |  | 
|  | 56 | This is a dictionary of key-value pairs which comprise | 
|  | 57 | this section of the INI file. | 
|  | 58 |  | 
| Andrea Frittoli (andreaf) | 7d44465 | 2017-12-01 17:36:38 +0000 | [diff] [blame] | 59 | .. zuul:rolevar:: devstack_base_services | 
|  | 60 | :type: list | 
|  | 61 | :default: {{ base_services | default(omit) }} | 
|  | 62 |  | 
|  | 63 | A list of base services which are enabled. Services can be added or removed | 
|  | 64 | from this list via the ``devstack_services`` variable. This is ignored if | 
|  | 65 | ``base`` is set to ``False`` in ``devstack_services``. | 
|  | 66 |  | 
| Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 67 | .. zuul:rolevar:: devstack_services | 
|  | 68 | :type: dict | 
|  | 69 |  | 
|  | 70 | A dictionary mapping service names to boolean values.  If the | 
|  | 71 | boolean value is ``false``, a ``disable_service`` line will be | 
|  | 72 | emitted for the service name.  If it is ``true``, then | 
| Andrea Frittoli (andreaf) | 5551170 | 2017-11-30 15:49:39 +0000 | [diff] [blame] | 73 | ``enable_service`` will be emitted. All other values are ignored. | 
| Andrea Frittoli (andreaf) | 7d44465 | 2017-12-01 17:36:38 +0000 | [diff] [blame] | 74 |  | 
| Andrea Frittoli (andreaf) | 5551170 | 2017-11-30 15:49:39 +0000 | [diff] [blame] | 75 | The special key ``base`` can be used to enable or disable the base set of | 
|  | 76 | services enabled by default. If ``base`` is found, it will processed before | 
|  | 77 | 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] | 78 | emitted; if its value is ``True`` services from ``devstack_base_services`` | 
|  | 79 | will be emitted via ``ENABLED_SERVICES``. | 
| Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 80 |  | 
|  | 81 | .. zuul:rolevar:: devstack_plugins | 
|  | 82 | :type: dict | 
|  | 83 |  | 
|  | 84 | A dictionary mapping a plugin name to a git repo location.  If the | 
|  | 85 | location is a non-empty string, then an ``enable_plugin`` line will | 
|  | 86 | be emmitted for the plugin name. | 
| James E. Blair | e1edde3 | 2018-03-02 15:05:14 +0000 | [diff] [blame] | 87 |  | 
|  | 88 | If a plugin declares a dependency on another plugin (via | 
|  | 89 | ``plugin_requires`` in the plugin's settings file), this role will | 
|  | 90 | automatically emit ``enable_plugin`` lines in the correct order. | 
| Luigi Toscano | 70d043d | 2019-03-12 22:25:44 +0100 | [diff] [blame] | 91 |  | 
|  | 92 | .. zuul:rolevar:: tempest_plugins | 
|  | 93 | :type: list | 
|  | 94 |  | 
|  | 95 | A list of tempest plugins which are installed alongside tempest. | 
|  | 96 |  | 
|  | 97 | The list of values will be combined with the base devstack directory | 
|  | 98 | and used to populate the ``TEMPEST_PLUGINS`` variable. If the variable | 
|  | 99 | already exists, its value is *not* changed. |