From 8c5aea21959dfc3659dc475b79750f4f7ada81a8 Mon Sep 17 00:00:00 2001 From: lkuchlan Date: Mon, 12 Nov 2018 16:39:38 +0200 Subject: [PATCH] Fix api microversion discover procedure We can not rely on the response length of 'set_api_microversion' to be the same everytime, otherewise it'll insert an incorrect values into microversions parameters, therefore we should should filter the response according to the desired api version, in our case is v3. Change-Id: I8163ff4a2e6fb10fea7efadbf15937a80110f1b2 --- config_tempest/services/volume.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/config_tempest/services/volume.py b/config_tempest/services/volume.py index 41b37b7e..3c936a8f 100644 --- a/config_tempest/services/volume.py +++ b/config_tempest/services/volume.py @@ -43,10 +43,18 @@ class VolumeService(VersionedService): def set_default_tempest_options(self, conf): if 'v3' in self.service_url: microversions = self.set_api_microversion() - min_microversion = microversions['versions'][1]['min_version'] - max_microversion = microversions['versions'][1]['version'] - conf.set('volume', 'min_microversion', min_microversion) - conf.set('volume', 'max_microversion', max_microversion) + min_microversion = { + version['min_version'] for version in microversions['versions'] + if version['id'] == 'v3.0' + } + + max_microversion = { + version['version'] for version in microversions['versions'] + if version['id'] == 'v3.0' + } + + conf.set('volume', 'min_microversion', ''.join(min_microversion)) + conf.set('volume', 'max_microversion', ''.join(max_microversion)) def get_service_extension_key(self): return 'api_extensions'