blob: d0a51e77c22bdf64027a40fcdd57c68867588086 [file] [log] [blame]
Monty Taylor36ddea32017-10-02 10:05:17 -05001Write 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. Blaire1edde32018-03-02 15:05:14 +000023 As a special case, the variable ``LIBS_FROM_GIT`` will be
24 constructed automatically from the projects which appear in the
James E. Blair8e5f8c22018-06-15 10:10:35 -070025 ``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. Blaire1edde32018-03-02 15:05:14 +000031
Monty Taylor36ddea32017-10-02 10:05:17 -050032.. 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)7d444652017-12-01 17:36:38 +000059.. 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 Taylor36ddea32017-10-02 10:05:17 -050067.. 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)55511702017-11-30 15:49:39 +000073 ``enable_service`` will be emitted. All other values are ignored.
Andrea Frittoli (andreaf)7d444652017-12-01 17:36:38 +000074
Andrea Frittoli (andreaf)55511702017-11-30 15:49:39 +000075 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)7d444652017-12-01 17:36:38 +000078 emitted; if its value is ``True`` services from ``devstack_base_services``
79 will be emitted via ``ENABLED_SERVICES``.
Monty Taylor36ddea32017-10-02 10:05:17 -050080
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. Blaire1edde32018-03-02 15:05:14 +000087
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 Toscano70d043d2019-03-12 22:25:44 +010091
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.