Update Xtesting to 0.98
[functest.git] / functest / opnfv_tests / openstack / vping / vping_ssh.py
index 1fd2d97..ad64348 100644 (file)
@@ -29,13 +29,13 @@ class VPingSSH(singlevm.SingleVm2):
         """Initialize testcase."""
         if "case_name" not in kwargs:
             kwargs["case_name"] = "vping_ssh"
-        super(VPingSSH, self).__init__(**kwargs)
+        super().__init__(**kwargs)
         self.vm2 = None
 
     def prepare(self):
-        super(VPingSSH, self).prepare()
+        super().prepare()
         self.vm2 = self.boot_vm(
-            '{}-vm2_{}'.format(self.case_name, self.guid),
+            f'{self.case_name}-vm2_{self.guid}',
             security_groups=[self.sec.id])
 
     def execute(self):
@@ -44,14 +44,19 @@ class VPingSSH(singlevm.SingleVm2):
         Returns: ping exit codes
         """
         assert self.ssh
-        (_, stdout, _) = self.ssh.exec_command(
-            'ping -c 1 ' + self.vm2.private_v4)
-        self.__logger.debug("output:\n%s", stdout.read())
+        if not self.check_regex_in_console(self.vm2.name):
+            return 1
+        ip4 = self.vm2.private_v4 or self.vm2.addresses[
+            self.network.name][0].addr
+        (_, stdout, stderr) = self.ssh.exec_command(f'ping -c 1 {ip4}')
+        self.__logger.info("output:\n%s", stdout.read().decode("utf-8"))
+        self.__logger.info("error:\n%s", stderr.read().decode("utf-8"))
         return stdout.channel.recv_exit_status()
 
     def clean(self):
         assert self.cloud
-        self.cloud.delete_server(
-            self.vm2, wait=True,
-            timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
-        super(VPingSSH, self).clean()
+        if self.vm2:
+            self.cloud.delete_server(
+                self.vm2, wait=True,
+                timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
+        super().clean()