Browse code

Define devstack services without the test-matrix

Emit a disable_all_services and define which service we run in
the job directly. This drops the dependency from the test matrix,
from devstack default list of services and it makes it easier for
jobs to add/remove services based on the list in the base job.

Change-Id: Ib1debefd541b933dbfc54d484c263cc0ed60423d

Andrea Frittoli (andreaf) authored on 2018/02/21 23:35:58
Showing 1 changed files
... ...
@@ -76,6 +76,8 @@
76 76
         # from the location below for all the CI jobs.
77 77
         ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/
78 78
       devstack_services:
79
+        # Ignore base set of services setup by test-matrix.
80
+        # Ignore any default set by devstack. Emit a "disable_all_services".
79 81
         base: false
80 82
       zuul_copy_output:
81 83
         '{{ devstack_conf_dir }}/local.conf': 'logs'
... ...
@@ -154,7 +156,7 @@
154 154
     name: devstack
155 155
     parent: devstack-base
156 156
     description: |
157
-      Single node devstack job for integration gate.
157
+      Single or multi node devstack job for integration gate.
158 158
     nodeset: openstack-single-node
159 159
     required-projects:
160 160
       - openstack/cinder
... ...
@@ -166,7 +168,6 @@
166 166
       - openstack/swift
167 167
     timeout: 7200
168 168
     vars:
169
-      test_matrix_configs: [neutron, tlsproxy]
170 169
       devstack_localrc:
171 170
         # Common OpenStack services settings
172 171
         SWIFT_REPLICAS: 1
... ...
@@ -178,9 +179,81 @@
178 178
         VNCSERVER_LISTEN: 0.0.0.0
179 179
         VNCSERVER_PROXYCLIENT_ADDRESS: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
180 180
       devstack_services:
181
-        base: true
181
+        # Core services enabled for this branch.
182
+        # This list replaces the test-matrix.
183
+        # Shared services
184
+        dstat: true
185
+        etcd3: true
186
+        mysql: true
187
+        peakmem_tracker: true
188
+        rabbit: true
189
+        tls-proxy: true
190
+        # Keystone services
191
+        key: true
192
+        # Glance services
193
+        g-api: true
194
+        g-reg: true
195
+        # Nova services
196
+        n-api: true
197
+        n-api-meta: true
198
+        n-cauth: true
199
+        n-cond: true
200
+        n-cpu: true
201
+        n-novnc: true
202
+        n-obj: true
203
+        n-sch: true
204
+        placement-api: true
205
+        # Neutron services
206
+        neutron-api: true
207
+        neutron-agent: true
208
+        neutron-dhcp: true
209
+        neutron-l3: true
210
+        neutron-metadata-agent: true
211
+        neutron-metering: true
212
+        # Swift services
213
+        s-account: true
214
+        s-container: true
215
+        s-object: true
216
+        s-proxy: true
217
+        # Cinder services
218
+        c-api: true
219
+        c-bak: true
220
+        c-sch: true
221
+        c-vol: true
222
+        cinder: true
223
+        # Services we don't need.
224
+        # This section is not really needed, it's for readability.
182 225
         horizon: false
183 226
         tempest: false
227
+        # Test matrix emits ceilometer but ceilomenter is not installed in the
228
+        # integrated gate, so specifying the services has not effect.
229
+        # ceilometer-*: false
230
+    group-vars:
231
+      subnode:
232
+        devstack_services:
233
+          # Core services enabled for this branch.
234
+          # This list replaces the test-matrix.
235
+          # Shared services
236
+          dstat: true
237
+          peakmem_tracker: true
238
+          tls-proxy: true
239
+          # Nova services
240
+          n-cpu: true
241
+          placement-client: true
242
+          # Neutron services
243
+          neutron-agent: true
244
+          # Cinder services
245
+          c-bak: true
246
+          c-vol: true
247
+          # Services we don't run at all on subnode.
248
+          # This section is not really needed, it's for readability.
249
+          # keystone: false
250
+          # s-*: false
251
+          horizon: false
252
+          tempest: false
253
+          # Test matrix emits ceilometer but ceilomenter is not installed in the
254
+          # integrated gate, so specifying the services has not effect.
255
+          # ceilometer-*: false
184 256
 
185 257
 - job:
186 258
     name: devstack-multinode