blob: bfce9c98cd94f829c17983358b316b52978598c5 [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
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 Taylor36ddea32017-10-02 10:05:17 -050031.. 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)7d444652017-12-01 17:36:38 +000058.. 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 Taylor36ddea32017-10-02 10:05:17 -050066.. 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)55511702017-11-30 15:49:39 +000072 ``enable_service`` will be emitted. All other values are ignored.
Andrea Frittoli (andreaf)7d444652017-12-01 17:36:38 +000073
Andrea Frittoli (andreaf)55511702017-11-30 15:49:39 +000074 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)7d444652017-12-01 17:36:38 +000077 emitted; if its value is ``True`` services from ``devstack_base_services``
78 will be emitted via ``ENABLED_SERVICES``.
Monty Taylor36ddea32017-10-02 10:05:17 -050079
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. Blaire1edde32018-03-02 15:05:14 +000086
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.