diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-07-20 10:45:20 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-07-27 14:33:53 +0200 |
commit | ed7240939029e679afb3f34853a1594b01706517 (patch) | |
tree | 8f53d5078824393e7a2fc1683d369d23e29e681a | |
parent | 93808e64ca2147d2d7901e35fba36bfa6ead89c5 (diff) |
Allow overriding the default role
It allows testing controllers which implements other RBAC policies.
Defining NEW_USER_ROLE=admin will easily raise side effects for
orchestrators such as Juju and Cloudify.
Change-Id: Ia78a25381aeb8aa81fd1872661629e1c08432b8f
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit 51f3e7a3cc4409fb9dda03bffa1252a8660f38b0)
-rw-r--r-- | functest/core/tenantnetwork.py | 2 | ||||
-rw-r--r-- | functest/opnfv_tests/vnf/epc/juju_epc.py | 7 | ||||
-rw-r--r-- | functest/opnfv_tests/vnf/ims/cloudify_ims.py | 8 | ||||
-rw-r--r-- | functest/utils/env.py | 3 |
4 files changed, 18 insertions, 2 deletions
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index e7526a561..ea338b4fe 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -35,7 +35,6 @@ class NewProject(object): # pylint: disable=too-many-instance-attributes __logger = logging.getLogger(__name__) - default_member = "Member" def __init__(self, cloud, case_name, guid): self.cloud = None @@ -48,6 +47,7 @@ class NewProject(object): self.domain = None self.role = None self.role_name = None + self.default_member = env.get('NEW_USER_ROLE') def create(self): """Create projects/users""" diff --git a/functest/opnfv_tests/vnf/epc/juju_epc.py b/functest/opnfv_tests/vnf/epc/juju_epc.py index f3295d989..c657455cc 100644 --- a/functest/opnfv_tests/vnf/epc/juju_epc.py +++ b/functest/opnfv_tests/vnf/epc/juju_epc.py @@ -130,6 +130,13 @@ class JujuEpc(vnf.VnfOnBoarding): self.res_dir = os.path.join( getattr(config.CONF, 'dir_results'), self.case_name) + def check_requirements(self): + if env.get('NEW_USER_ROLE').lower() == "admin": + self.__logger.warn( + "Defining NEW_USER_ROLE=admin will easily break the testcase " + "because Juju doesn't manage tenancy (e.g. subnet " + "overlapping)") + def _bypass_juju_netdiscovery_bug(self, name): user_creator = OpenStackUser( self.snaps_creds, diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py index 9786ff271..36862bd43 100644 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py +++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py @@ -24,6 +24,7 @@ import six from functest.core import cloudify from functest.opnfv_tests.vnf.ims import clearwater_ims_base from functest.utils import config +from functest.utils import env __author__ = "Valentin Boucher <valentin.boucher@orange.com>" @@ -90,6 +91,13 @@ class CloudifyIms(cloudify.Cloudify): self.image_alt = None self.flavor_alt = None + def check_requirements(self): + if env.get('NEW_USER_ROLE').lower() == "admin": + self.__logger.warn( + "Defining NEW_USER_ROLE=admin will easily break the testcase " + "because Cloudify doesn't manage tenancy (e.g. subnet " + "overlapping)") + def execute(self): assert super(CloudifyIms, self).execute() == 0 # pylint: disable=too-many-locals,too-many-statements diff --git a/functest/utils/env.py b/functest/utils/env.py index b0b8501f1..b5ff965fe 100644 --- a/functest/utils/env.py +++ b/functest/utils/env.py @@ -28,7 +28,8 @@ INPUTS = { 'ENERGY_RECORDER_API_USER': env.INPUTS['ENERGY_RECORDER_API_USER'], 'ENERGY_RECORDER_API_PASSWORD': env.INPUTS['ENERGY_RECORDER_API_PASSWORD'], 'VOLUME_DEVICE_NAME': 'vdb', - 'NAMESERVER': '8.8.8.8' + 'NAMESERVER': '8.8.8.8', + 'NEW_USER_ROLE': 'Member' } |