summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-07-14 13:37:35 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2018-07-26 18:51:28 +0200
commit5f2212689629ea3a434a242ad8e7822c492f71a8 (patch)
tree7135328749ee8f36736558f56e6557ca9a6e4437
parentc1507df552b1178e0eeba1e764edbfaf996a68cf (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> (cherry picked from commit bafbd217c68c70ae66e052833c3e33298b35da0c)
-rw-r--r--functest/core/tenantnetwork.py13
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py14
2 files changed, 26 insertions, 1 deletions
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py
index 9e11c4d27..20044f8c0 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 23708cafe..15d834636 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -269,6 +269,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
@@ -299,6 +312,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()
self.apply_tempest_blacklist()