| ... | ... |
@@ -53,7 +53,12 @@ Write the local.conf file for use by devstack |
| 53 | 53 |
A dictionary mapping service names to boolean values. If the |
| 54 | 54 |
boolean value is ``false``, a ``disable_service`` line will be |
| 55 | 55 |
emitted for the service name. If it is ``true``, then |
| 56 |
- ``enable_service`` will be emitted. All other values are ignored. |
|
| 56 |
+ ``enable_service`` will be emitted. All other values are ignored. |
|
| 57 |
+ The special key ``base`` can be used to enable or disable the base set of |
|
| 58 |
+ services enabled by default. If ``base`` is found, it will processed before |
|
| 59 |
+ all other keys. If its value is ``False`` a ``disable_all_services`` will be |
|
| 60 |
+ emitted; if its value is ``True`` nothing will be emitted since base |
|
| 61 |
+ services are enabled by default. |
|
| 57 | 62 |
|
| 58 | 63 |
.. zuul:rolevar:: devstack_plugins |
| 59 | 64 |
:type: dict |
| ... | ... |
@@ -124,6 +124,9 @@ class LocalConf(object): |
| 124 | 124 |
self.localrc.append('enable_plugin {} {}'.format(k, v))
|
| 125 | 125 |
|
| 126 | 126 |
def handle_services(self, services): |
| 127 |
+ base_services = services.pop('base', True)
|
|
| 128 |
+ if not base_services: |
|
| 129 |
+ self.localrc.append('disable_all_services')
|
|
| 127 | 130 |
for k, v in services.items(): |
| 128 | 131 |
if v is False: |
| 129 | 132 |
self.localrc.append('disable_service {}'.format(k))
|