aboutsummaryrefslogtreecommitdiffstats
path: root/functest/opnfv_tests
diff options
context:
space:
mode:
authorCedric Ollivier <cedric.ollivier@orange.com>2018-08-15 09:16:59 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-08-15 09:16:59 +0000
commit871400382c339114aedb529a5b6a7bbdd2067b46 (patch)
tree217e7216c34272bbdbc339626cf3c774fa732f16 /functest/opnfv_tests
parent1bcc28012a78339063a7c93e16cdd9342aabb407 (diff)
parent4b7d89de42fe9a3867b12ea39721ad92aff96340 (diff)
Merge "Create new project/user for rally test"
Diffstat (limited to 'functest/opnfv_tests')
-rw-r--r--functest/opnfv_tests/openstack/rally/rally.py22
-rw-r--r--functest/opnfv_tests/openstack/tempest/conf_utils.py4
2 files changed, 22 insertions, 4 deletions
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py
index 4a6362903..bb67fc270 100644
--- a/functest/opnfv_tests/openstack/rally/rally.py
+++ b/functest/opnfv_tests/openstack/rally/rally.py
@@ -33,7 +33,7 @@ from functest.utils import env
LOGGER = logging.getLogger(__name__)
-class RallyBase(singlevm.VmReady1):
+class RallyBase(singlevm.VmReady2):
"""Base class form Rally testcases implementation."""
# pylint: disable=too-many-instance-attributes
@@ -62,6 +62,18 @@ class RallyBase(singlevm.VmReady1):
def __init__(self, **kwargs):
"""Initialize RallyBase object."""
super(RallyBase, self).__init__(**kwargs)
+ assert self.orig_cloud
+ assert self.project
+ if self.orig_cloud.get_role("admin"):
+ role_name = "admin"
+ elif self.orig_cloud.get_role("Admin"):
+ role_name = "Admin"
+ else:
+ raise Exception("Cannot detect neither admin nor Admin")
+ self.orig_cloud.grant_role(
+ role_name, user=self.project.user.id,
+ project=self.project.project.id,
+ domain=self.project.domain.id)
self.creators = []
self.mode = ''
self.summary = []
@@ -476,7 +488,13 @@ class RallyBase(singlevm.VmReady1):
try:
assert super(RallyBase, self).run(
**kwargs) == testcase.TestCase.EX_OK
- conf_utils.create_rally_deployment()
+ environ = dict(
+ os.environ,
+ OS_USERNAME=self.project.user.name,
+ OS_PROJECT_NAME=self.project.project.name,
+ OS_PROJECT_ID=self.project.project.id,
+ OS_PASSWORD=self.project.password)
+ conf_utils.create_rally_deployment(environ=environ)
self._prepare_env()
self._run_tests()
self._generate_report()
diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py
index 6eb79ed41..63493ec28 100644
--- a/functest/opnfv_tests/openstack/tempest/conf_utils.py
+++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py
@@ -44,7 +44,7 @@ CI_INSTALLER_TYPE = env.get('INSTALLER_TYPE')
LOGGER = logging.getLogger(__name__)
-def create_rally_deployment():
+def create_rally_deployment(environ=None):
"""Create new rally deployment"""
# set the architecture to default
pod_arch = env.get("POD_ARCH")
@@ -73,7 +73,7 @@ def create_rally_deployment():
cmd = ['rally', 'deployment', 'create', '--fromenv',
'--name', str(getattr(config.CONF, 'rally_deployment_name'))]
- output = subprocess.check_output(cmd)
+ output = subprocess.check_output(cmd, env=environ)
LOGGER.info("%s\n%s", " ".join(cmd), output)
cmd = ['rally', 'deployment', 'check']