- self.kp_name = CONST.__getattribute__('vping_keypair_name') + self.guid
- self.kp_priv_file = CONST.__getattribute__('vping_keypair_priv_file')
- self.kp_pub_file = CONST.__getattribute__('vping_keypair_pub_file')
- self.router_name =\
- CONST.__getattribute__('vping_router_name') + self.guid
- self.sg_name = CONST.__getattribute__('vping_sg_name') + self.guid
- self.sg_desc = CONST.__getattribute__('vping_sg_desc')
-
- self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds)
-
- def run(self):
- """
- Sets up the OpenStack keypair, router, security group, and VM instance
- objects then validates the ping.
- :return: the exit code from the super.execute() method
- """
- try:
- super(VPingSSH, self).run()
-
- self.logger.info("Creating keypair with name: '%s'" % self.kp_name)
- kp_creator = deploy_utils.create_keypair(
- self.os_creds,
- KeypairSettings(name=self.kp_name,
- private_filepath=self.kp_priv_file,
- public_filepath=self.kp_pub_file))
- self.creators.append(kp_creator)
-
- # Creating router to external network
- self.logger.info("Creating router with name: '%s'"
- % self.router_name)
- net_set = self.network_creator.network_settings
- sub_set = [net_set.subnet_settings[0].name]
- router_creator = deploy_utils.create_router(
- self.os_creds,
- RouterSettings(
- name=self.router_name,
- external_gateway=self.ext_net_name,
- internal_subnets=sub_set))
- self.creators.append(router_creator)
-
- # Creating Instance 1
- port1_settings = PortSettings(
- name=self.vm1_name + '-vPingPort',
- network_name=self.network_creator.network_settings.name)
- instance1_settings = VmInstanceSettings(
- name=self.vm1_name, flavor=self.flavor_name,
- vm_boot_timeout=self.vm_boot_timeout,
- vm_delete_timeout=self.vm_delete_timeout,
- ssh_connect_timeout=self.vm_ssh_connect_timeout,
- port_settings=[port1_settings])
-
- self.logger.info(
- "Creating VM 1 instance with name: '%s'"
- % instance1_settings.name)
- self.vm1_creator = deploy_utils.create_vm_instance(
- self.os_creds,
- instance1_settings,
- self.image_creator.image_settings,
- keypair_creator=kp_creator)
- self.creators.append(self.vm1_creator)
-
- # Creating Instance 2
- sg_creator = self.__create_security_group()
- self.creators.append(sg_creator)
-
- port2_settings = PortSettings(
- name=self.vm2_name + '-vPingPort',
- network_name=self.network_creator.network_settings.name)
- instance2_settings = VmInstanceSettings(
- name=self.vm2_name, flavor=self.flavor_name,
- vm_boot_timeout=self.vm_boot_timeout,
- vm_delete_timeout=self.vm_delete_timeout,
- ssh_connect_timeout=self.vm_ssh_connect_timeout,
- port_settings=[port2_settings],
- security_group_names=[sg_creator.sec_grp_settings.name],
- floating_ip_settings=[FloatingIpSettings(
- name=self.vm2_name + '-FIPName',
- port_name=port2_settings.name,
- router_name=router_creator.router_settings.name)])
-
- self.logger.info(
- "Creating VM 2 instance with name: '%s'"
- % instance2_settings.name)
- self.vm2_creator = deploy_utils.create_vm_instance(
- self.os_creds,
- instance2_settings,
- self.image_creator.image_settings,
- keypair_creator=kp_creator)
- self.creators.append(self.vm2_creator)
-
- return self._execute()
- except Exception as e:
- self.logger.error('Unexpected error running test - ' + e.message)
- return TestCase.EX_RUN_ERROR
- finally:
- self._cleanup()