Browse Source

Add multistore image option

This is an attempt to populate tempestconf with
multistore feature enabled if and only if multiple
stores are available.
In Rocky and Stein, Glance has added the ability to
configure multiple stores as an EXPERIMENTAL feature.
This feature is fully supported from the Train cycle.

Please refer [1] for more information
[1] https://specs.openstack.org/openstack/cinder-specs/specs/ussuri/support-glance-multiple-backend.html

Here are two test-projects exercising the results of
this change

1. With multi-store enabled
https://review.rdoproject.org/r/c/testproject/+/37159
2. With multi-store not enabled
https://review.rdoproject.org/r/c/testproject/+/37160

Signed-off-by: Soniya Vyas <svyas@redhat.com>
Change-Id: I45f9dce14b60e9385600c57ee56b50aba3a4476f
changes/69/820169/4
Soniya Vyas 6 months ago
parent
commit
950f8ed240
  1. 12
      config_tempest/services/image.py

12
config_tempest/services/image.py

@ -56,6 +56,10 @@ class ImageService(VersionedService):
self.convert = convert
def set_default_tempest_options(self, conf):
# set 'image-feature-enabled' only if multiple stores available
num_stores = self._get_number_of_stores()
if num_stores > 1:
conf.set('image-feature-enabled', 'import_image', 'True')
# When cirros is the image, set validation.image_ssh_user to cirros.
# The option is heavily used in CI and it's also usefull for refstack,
# because we don't have to specify overrides.
@ -77,6 +81,14 @@ class ImageService(VersionedService):
# default value
conf.set('image', 'http_image', C.DEFAULT_IMAGE)
def _get_number_of_stores(self):
try:
stores = self.client.info_stores()['stores']
return len(stores)
except exceptions.Forbidden:
C.LOG.info('Can not retrieve stores, user are not allowed')
return 1
def get_supported_versions(self):
return ['v1', 'v2']

Loading…
Cancel
Save