Add suffixes to OpenStack resource names 75/52175/2
authorCédric Ollivier <cedric.ollivier@orange.com>
Wed, 14 Feb 2018 22:08:29 +0000 (23:08 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Thu, 15 Feb 2018 16:18:57 +0000 (17:18 +0100)
All vnf testcases have to add suffixes in OpenStack resources names
simply because the password is now generated before any run [1].

Snaps mainly creates the resource only if unfound in all tenants [2].
Then one remaining resource could easily raise permissions denied.
It avoid conflicts between vrouter and cloudify_ims which are using the
same names.

[1] https://gerrit.opnfv.org/gerrit/#/c/50747/
[2] https://jira.opnfv.org/browse/SNAPS-257

Depends-On: If56cc44fe35ca06bc9033af620ddd3c0586877fe
Change-Id: I1800886e575189b64fdc580a5ee6b59c81fcde5c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
functest/core/vnf.py
functest/opnfv_tests/vnf/ims/cloudify_ims.py
functest/opnfv_tests/vnf/router/cloudify_vrouter.py

index 0da8f6d..05baf43 100644 (file)
@@ -50,8 +50,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 +107,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)
index a4144ad..8efbf40 100644 (file)
@@ -124,7 +124,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
                         name=image_name, image_user='cloud',
                         img_format='qcow2', image_file=image_file))
                 image_creator.create()
-                self.created_object.append(image_creator)
+                self.created_object.append(image_creator)
 
     def deploy_orchestrator(self):
         """
@@ -144,10 +144,12 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
         self.created_object.append(keypair_creator)
 
         self.__logger.info("Creating full network ...")
-        subnet_settings = SubnetConfig(name='cloudify_ims_subnet',
-                                       cidr='10.67.79.0/24')
-        network_settings = NetworkConfig(name='cloudify_ims_network',
-                                         subnet_settings=[subnet_settings])
+        subnet_settings = SubnetConfig(
+            name='cloudify_ims_subnet-{}'.format(self.uuid),
+            cidr='10.67.79.0/24')
+        network_settings = NetworkConfig(
+            name='cloudify_ims_network-{}'.format(self.uuid),
+            subnet_settings=[subnet_settings])
         network_creator = OpenStackNetwork(self.snaps_creds, network_settings)
         network_creator.create()
         self.created_object.append(network_creator)
@@ -155,7 +157,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
         router_creator = OpenStackRouter(
             self.snaps_creds,
             RouterConfig(
-                name='cloudify_ims_router',
+                name='cloudify_ims_router-{}'.format(self.uuid),
                 external_gateway=ext_net_name,
                 internal_subnets=[subnet_settings.name]))
         router_creator.create()
@@ -166,19 +168,19 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
         sg_rules = list()
         sg_rules.append(
             SecurityGroupRuleConfig(
-                sec_grp_name="sg-cloudify-manager",
+                sec_grp_name="sg-cloudify-manager-{}".format(self.uuid),
                 direction=Direction.ingress, protocol=Protocol.tcp,
                 port_range_min=1, port_range_max=65535))
         sg_rules.append(
             SecurityGroupRuleConfig(
-                sec_grp_name="sg-cloudify-manager",
+                sec_grp_name="sg-cloudify-manager-{}".format(self.uuid),
                 direction=Direction.ingress, protocol=Protocol.udp,
                 port_range_min=1, port_range_max=65535))
 
         security_group_creator = OpenStackSecurityGroup(
             self.snaps_creds,
             SecurityGroupConfig(
-                name="sg-cloudify-manager",
+                name="sg-cloudify-manager-{}".format(self.uuid),
                 rule_settings=sg_rules))
 
         security_group_creator.create()
@@ -200,24 +202,24 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
             image_user='centos',
             exists=True)
 
-        port_settings = PortConfig(name='cloudify_manager_port',
-                                   network_name=network_settings.name)
+        port_settings = PortConfig(
+            name='cloudify_manager_port-{}'.format(self.uuid),
+            network_name=network_settings.name)
 
         manager_settings = VmInstanceConfig(
-            name='cloudify_manager',
+            name='cloudify_manager-{}'.format(self.uuid),
             flavor=flavor_settings.name,
             port_settings=[port_settings],
             security_group_names=[
                 security_group_creator.sec_grp_settings.name],
             floating_ip_settings=[FloatingIpConfig(
-                name='cloudify_manager_fip',
+                name='cloudify_manager_fip-{}'.format(self.uuid),
                 port_name=port_settings.name,
                 router_name=router_creator.router_settings.name)])
 
-        manager_creator = OpenStackVmInstance(self.snaps_creds,
-                                              manager_settings,
-                                              image_settings,
-                                              keypair_settings)
+        manager_creator = OpenStackVmInstance(
+            self.snaps_creds, manager_settings, image_settings,
+            keypair_settings)
 
         self.__logger.info("Creating cloudify manager VM")
         manager_creator.create()
index 020085b..74c6d39 100644 (file)
@@ -135,10 +135,9 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
             if image_file and image_name:
                 image_creator = OpenStackImage(
                     self.snaps_creds,
-                    ImageConfig(name=image_name,
-                                image_user='cloud',
-                                img_format='qcow2',
-                                image_file=image_file))
+                    ImageConfig(
+                        name=image_name, image_user='cloud',
+                        img_format='qcow2', image_file=image_file))
                 image_creator.create()
                 self.created_object.append(image_creator)
 
@@ -160,10 +159,12 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
         self.created_object.append(keypair_creator)
 
         self.__logger.info("Creating full network ...")
-        subnet_settings = SubnetConfig(name='cloudify_vrouter_subnet',
-                                       cidr='10.67.79.0/24')
-        network_settings = NetworkConfig(name='cloudify_vrouter_network',
-                                         subnet_settings=[subnet_settings])
+        subnet_settings = SubnetConfig(
+            name='cloudify_vrouter_subnet-{}'.format(self.uuid),
+            cidr='10.67.79.0/24')
+        network_settings = NetworkConfig(
+            name='cloudify_vrouter_network-{}'.format(self.uuid),
+            subnet_settings=[subnet_settings])
         network_creator = OpenStackNetwork(self.snaps_creds, network_settings)
         network_creator.create()
         self.created_object.append(network_creator)
@@ -171,7 +172,7 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
         router_creator = OpenStackRouter(
             self.snaps_creds,
             RouterConfig(
-                name='cloudify_vrouter_router',
+                name='cloudify_vrouter_router-{}'.format(self.uuid),
                 external_gateway=ext_net_name,
                 internal_subnets=[subnet_settings.name]))
         router_creator.create()
@@ -181,20 +182,22 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
         self.__logger.info("Creating security group for cloudify manager vm")
         sg_rules = list()
         sg_rules.append(
-            SecurityGroupRuleConfig(sec_grp_name="sg-cloudify-manager",
-                                    direction=Direction.ingress,
-                                    protocol=Protocol.tcp, port_range_min=1,
-                                    port_range_max=65535))
+            SecurityGroupRuleConfig(
+                sec_grp_name="sg-cloudify-manager-{}".format(self.uuid),
+                direction=Direction.ingress,
+                protocol=Protocol.tcp, port_range_min=1,
+                port_range_max=65535))
         sg_rules.append(
-            SecurityGroupRuleConfig(sec_grp_name="sg-cloudify-manager",
-                                    direction=Direction.ingress,
-                                    protocol=Protocol.udp, port_range_min=1,
-                                    port_range_max=65535))
+            SecurityGroupRuleConfig(
+                sec_grp_name="sg-cloudify-manager-{}".format(self.uuid),
+                direction=Direction.ingress,
+                protocol=Protocol.udp, port_range_min=1,
+                port_range_max=65535))
 
         security_group_creator = OpenStackSecurityGroup(
             self.snaps_creds,
             SecurityGroupConfig(
-                name="sg-cloudify-manager",
+                name="sg-cloudify-manager-{}".format(self.uuid),
                 rule_settings=sg_rules))
 
         security_group_creator.create()
@@ -216,24 +219,24 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
             image_user='centos',
             exists=True)
 
-        port_settings = PortConfig(name='cloudify_manager_port',
-                                   network_name=network_settings.name)
+        port_settings = PortConfig(
+            name='cloudify_manager_port-{}'.format(self.uuid),
+            network_name=network_settings.name)
 
         manager_settings = VmInstanceConfig(
-            name='cloudify_manager',
+            name='cloudify_manager-{}'.format(self.uuid),
             flavor=flavor_settings.name,
             port_settings=[port_settings],
             security_group_names=[
                 security_group_creator.sec_grp_settings.name],
             floating_ip_settings=[FloatingIpConfig(
-                name='cloudify_manager_fip',
+                name='cloudify_manager_fip-{}'.format(self.uuid),
                 port_name=port_settings.name,
                 router_name=router_creator.router_settings.name)])
 
-        manager_creator = OpenStackVmInstance(self.snaps_creds,
-                                              manager_settings,
-                                              image_settings,
-                                              keypair_settings)
+        manager_creator = OpenStackVmInstance(
+            self.snaps_creds, manager_settings, image_settings,
+            keypair_settings)
 
         self.__logger.info("Creating cloudify manager VM")
         manager_creator.create()