- self.sec = self.cloud.create_security_group(
- getattr(config.CONF, 'vping_sg_name') + self.guid,
- getattr(config.CONF, 'vping_sg_desc'))
- self.cloud.create_security_group_rule(
- self.sec.id, port_range_min='22', port_range_max='22',
- protocol='tcp', direction='ingress')
- self.cloud.create_security_group_rule(
- self.sec.id, protocol='icmp', direction='ingress')
-
- vm2_name = "{}-{}-{}".format(
- getattr(config.CONF, 'vping_vm_name_2'), "ssh", self.guid)
- self.logger.info(
- "Creating VM 2 instance with name: '%s'", vm2_name)
- self.vm2 = self.cloud.create_server(
- vm2_name, image=self.image.id, flavor=self.flavor.id,
- key_name=self.keypair.id,
- auto_ip=False, wait=True,
- timeout=getattr(config.CONF, 'vping_vm_boot_timeout'),
- network=self.network.id,
- security_groups=[self.sec.id])
- self.logger.debug("vm2: %s", self.vm2)
- self.fip = self.cloud.create_floating_ip(
- network=self.ext_net.id, server=self.vm2)
- self.logger.debug("floating_ip2: %s", self.fip)
- self.vm2 = self.cloud.wait_for_server(self.vm2, auto_ip=False)
-
- return self._execute()
- except Exception: # pylint: disable=broad-except
- self.logger.exception('Unexpected error running vping_ssh')
- return testcase.TestCase.EX_RUN_ERROR
-
- def _do_vping(self):
- """
- Execute ping command.
-
- Override from super
- """
- time.sleep(10)
- self.ssh.set_missing_host_key_policy(paramiko.client.AutoAddPolicy())
- self.ssh.connect(
- self.vm2.public_v4,
- username=getattr(config.CONF, 'openstack_image_user'),
- key_filename=self.key_filename,
- timeout=getattr(config.CONF, 'vping_vm_ssh_connect_timeout'))
- self.logger.debug("ssh: %s", self.ssh)
- if not self._transfer_ping_script():
- return testcase.TestCase.EX_RUN_ERROR
- return self._do_vping_ssh()