Browse code

Fix DevStack to configure tempest's service_availability

Tempest's service_availability config option includes all the service
availability which is further used by tests to take decision of skip
or run the test.

For example, [service_availability].nova is true then, compute test will run
or if [service_availability].aodh is false then, all aodh related tests either
in aodh tempest plugin or any other plugins will be skipped.

Now question is what is the best way to set the each service availability for
tempest or tempest plugins tests. We have 2 category of service here-
1. Service tested by Tempest (nova, cinder, keystone, glance, swift, neutron)
(let's say type1 service)
2. Services tested by Tempest plugins (all other than above list)
(let's say type2 service)

We need the standard way to set both type of service so that we can maintain
the setting of service_availability config options in consistent way.

As discussed on bug#1743688/ and review https://review.openstack.org/#/c/536723/,
we will use devstack lib/tempest to set the type1 service which is services test
owned by Tempest and type2 service setting will be done by devstack plugins of
those service.

For example - [service_availability].ironic will be set by ironic's devstack plugin.
because that is best place we know ironic is installed and available.

To do that we need:
1. Add setting of [service_availability].* in devstack plugins
2. Remove setting of type2 service from devstack lib/tempest

This commit does the second part and all depends-on patches handle the first part.

Related-Bug: #1743688

Change-Id: If3aec9fd1c61e2bb53233be437b97b811dc82414

ghanshyam authored on 2018/11/26 16:38:54
Showing 1 changed files
... ...
@@ -543,11 +543,15 @@ function configure_tempest {
543 543
 
544 544
     # ``service_available``
545 545
     #
546
-    # this tempest service list needs to be all the services that
547
-    # tempest supports, otherwise we can have an erroneous set of
546
+    # this tempest service list needs to be the services that
547
+    # tempest own, otherwise we can have an erroneous set of
548 548
     # defaults (something defaulting true in Tempest, but not listed here).
549
+    # services tested by tempest plugins needs to be set on service devstack
550
+    # plugin side as devstack cannot keep track of all the tempest plugins
551
+    # services. Refer Bug#1743688 for more details.
552
+    # 'horizon' is also kept here as no devtack plugin for horizon.
549 553
     local service
550
-    local tempest_services="key,glance,nova,neutron,cinder,swift,heat,ceilometer,horizon,sahara,ironic,trove"
554
+    local tempest_services="key,glance,nova,neutron,cinder,swift,horizon"
551 555
     for service in ${tempest_services//,/ }; do
552 556
         if is_service_enabled $service ; then
553 557
             iniset $TEMPEST_CONFIG service_available $service "True"