X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=functest%2Fcore%2Fvnf.py;h=15065f7309dd151e1e86ff3e921d5317d4eb965a;hb=f15f1764ae1531e086a68d6070964a8b6c60a987;hp=0da8f6db19ca5b53dcd9943513a8c2f60962fe60;hpb=e94f6195fb4116fb4228a6c3e600d073de3b6109;p=functest.git diff --git a/functest/core/vnf.py b/functest/core/vnf.py index 0da8f6db1..15065f730 100644 --- a/functest/core/vnf.py +++ b/functest/core/vnf.py @@ -17,6 +17,7 @@ from snaps.config.user import UserConfig from snaps.config.project import ProjectConfig from snaps.openstack.create_user import OpenStackUser from snaps.openstack.create_project import OpenStackProject +from snaps.openstack.utils import keystone_utils from snaps.openstack.tests import openstack_tests from functest.core import testcase @@ -50,8 +51,9 @@ class VnfOnBoarding(testcase.TestCase): def __init__(self, **kwargs): super(VnfOnBoarding, self).__init__(**kwargs) - self.user_name = self.case_name - self.tenant_name = self.case_name + self.uuid = uuid.uuid4() + self.user_name = "{}-{}".format(self.case_name, self.uuid) + self.tenant_name = "{}-{}".format(self.case_name, self.uuid) self.snaps_creds = {} self.created_object = [] self.os_project = None @@ -106,7 +108,7 @@ class VnfOnBoarding(testcase.TestCase): """ try: self.__logger.info( - "Prepare VNF: %s, description: %s", self.tenant_name, + "Prepare VNF: %s, description: %s", self.case_name, self.tenant_description) snaps_creds = openstack_tests.get_credentials( os_env_file=self.env_file) @@ -115,16 +117,31 @@ class VnfOnBoarding(testcase.TestCase): snaps_creds, ProjectConfig( name=self.tenant_name, - description=self.tenant_description + description=self.tenant_description, + domain=snaps_creds.project_domain_name )) self.os_project.create() self.created_object.append(self.os_project) + + snaps_creds.project_domain_id = \ + self.os_project.get_project().domain_id + snaps_creds.user_domain_id = \ + self.os_project.get_project().domain_id + + for role in ['admin', 'Admin']: + if keystone_utils.get_role_by_name( + keystone_utils.keystone_client(snaps_creds), role): + admin_role = role + break + user_creator = OpenStackUser( snaps_creds, UserConfig( name=self.user_name, password=str(uuid.uuid4()), - roles={'admin': self.tenant_name})) + project_name=self.tenant_name, + domain_name=snaps_creds.user_domain_name, + roles={admin_role: self.tenant_name})) user_creator.create() self.created_object.append(user_creator) self.snaps_creds = user_creator.get_os_creds(self.tenant_name)