diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-07-14 13:37:35 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-07-14 13:40:42 +0200 |
commit | bafbd217c68c70ae66e052833c3e33298b35da0c (patch) | |
tree | 7396cc065c327053e4f2c72723c171c7dc943ae7 | |
parent | 59ba5abb31018282bca796ee0c0652d61192c6bf (diff) |
Set swift_operator_role if required
Apex creates member as default role which conflicts with the default
swift_operator_role [1]. It detects the default role in lowercase as
well and write it in rally.conf if required.
[1] https://build.opnfv.org/ci/view/functest/job/functest-apex-virtual-suite-master/116/console
Change-Id: Ic4dc98c793207fc32ff35852472742c92db6699c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r-- | functest/core/tenantnetwork.py | 13 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/tempest.py | 14 |
2 files changed, 26 insertions, 1 deletions
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index 60b747bd2..286aef67e 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -150,7 +150,7 @@ class TenantNetwork1(testcase.TestCase): @staticmethod def get_external_network(cloud): """ - Returns the configured external network name or + Return the configured external network name or the first retrieved external network name """ assert cloud @@ -164,6 +164,17 @@ class TenantNetwork1(testcase.TestCase): return networks[0] return None + @staticmethod + def get_default_role(cloud, member="Member"): + """Get the default role + + It also tests the role in lowercase to avoid possible conflicts. + """ + role = cloud.get_role(member) + if not role: + role = cloud.get_role(member.lower()) + return role + def _create_network_ressources(self): assert self.cloud assert self.ext_net diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index ac69357a8..bf79eb21d 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -261,6 +261,19 @@ class TempestCommon(singlevm.VmReady1): with open(rally_conf, 'wb') as config_file: rconfig.write(config_file) + def update_default_role(self, rally_conf='/etc/rally/rally.conf'): + """Detect and update the default role if required""" + role = self.get_default_role(self.cloud) + if not role: + return + rconfig = configparser.RawConfigParser() + rconfig.read(rally_conf) + if not rconfig.has_section('tempest'): + rconfig.add_section('tempest') + rconfig.set('tempest', 'swift_operator_role', '^{}$'.format(role.name)) + with open(rally_conf, 'wb') as config_file: + rconfig.write(config_file) + def configure(self, **kwargs): # pylint: disable=unused-argument """ Create all openstack resources for tempest-based testcases and write @@ -291,6 +304,7 @@ class TempestCommon(singlevm.VmReady1): assert super(TempestCommon, self).run( **kwargs) == testcase.TestCase.EX_OK self.update_rally_regex() + self.update_default_role() self.configure(**kwargs) self.generate_test_list(**kwargs) self.apply_tempest_blacklist() |