Allow running latest tempest_full
[functest.git] / functest / opnfv_tests / openstack / vping / vping_userdata.py
index 3b0a1a9..a58184c 100644 (file)
@@ -46,7 +46,6 @@ class VPingUserdata(singlevm.VmReady2):
             self.vm2 = self.boot_vm(
                 '{}-vm2_{}'.format(self.case_name, self.guid),
                 userdata=self._get_userdata())
-            self.vm2 = self.cloud.wait_for_server(self.vm2, auto_ip=False)
 
             result = self._do_vping()
             self.stop_time = time.time()
@@ -62,7 +61,8 @@ class VPingUserdata(singlevm.VmReady2):
         """
         Override from super
         """
-        if not self.vm1.private_v4:
+        if not (self.vm1.private_v4 or self.vm1.addresses[
+                self.network.name][0].addr):
             self.logger.error("vm1: IP addr missing")
             return testcase.TestCase.EX_TESTCASE_FAILED
 
@@ -94,7 +94,8 @@ class VPingUserdata(singlevm.VmReady2):
                 else:
                     self.logger.debug(
                         "Pinging %s. Waiting for response...",
-                        self.vm1.private_v4)
+                        self.vm1.private_v4 or self.vm1.addresses[
+                            self.network.name][0].addr)
             sec += 1
 
         return exit_code
@@ -105,7 +106,8 @@ class VPingUserdata(singlevm.VmReady2):
         :param test_ip: the IP value to substitute into the script
         :return: the bash script contents
         """
-        if self.vm1.private_v4:
+        if self.vm1.private_v4 or self.vm1.addresses[
+                self.network.name][0].addr:
             return ("#!/bin/sh\n\n"
                     "while true; do\n"
                     " ping -c 1 %s 2>&1 >/dev/null\n"
@@ -117,15 +119,19 @@ class VPingUserdata(singlevm.VmReady2):
                     "  echo 'vPing KO'\n"
                     " fi\n"
                     " sleep 1\n"
-                    "done\n" % str(self.vm1.private_v4))
+                    "done\n" % str(
+                        self.vm1.private_v4 or self.vm1.addresses[
+                            self.network.name][0].addr))
         return None
 
     def clean(self):
         assert self.cloud
-        self.cloud.delete_server(
-            self.vm1, wait=True,
-            timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
-        self.cloud.delete_server(
-            self.vm2, wait=True,
-            timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
+        if self.vm1:
+            self.cloud.delete_server(
+                self.vm1, wait=True,
+                timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
+        if self.vm2:
+            self.cloud.delete_server(
+                self.vm2, wait=True,
+                timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
         super(VPingUserdata, self).clean()