From e01762afb78c7c4938ce16d52b7f47fdbb4ed4dc Mon Sep 17 00:00:00 2001 From: Romanos Skiadas Date: Mon, 5 Dec 2016 10:20:45 +0200 Subject: Don't pass ips to get_ssh_output and check_ping Remove the IP arguments from these functions and use the VM objects passed to them to find their IPs. This simplifies the calls. Change-Id: Ideb08b6fdf0648870c2854f057708a88bb482d0c Signed-off-by: Romanos Skiadas --- test/functest/results.py | 12 ++++++++---- test/functest/testcase_1.py | 33 ++++++++------------------------- test/functest/testcase_2.py | 34 ++++++++++++---------------------- test/functest/testcase_4.py | 33 ++++++++------------------------- 4 files changed, 36 insertions(+), 76 deletions(-) (limited to 'test') diff --git a/test/functest/results.py b/test/functest/results.py index 343c962..37dfc24 100644 --- a/test/functest/results.py +++ b/test/functest/results.py @@ -25,11 +25,14 @@ class Results(object): self.num_tests_failed = 0 def get_ping_status(self, - vm_source, ip_source, - vm_target, ip_target, + vm_source, + vm_target, expected="PASS", timeout=30): console_log = vm_source.get_console_output() + ip_source = vm_source.networks.itervalues().next()[0] + ip_target = vm_target.networks.itervalues().next()[0] + if "request failed" in console_log: # Normally, cirros displays this message when userdata fails logger.debug("It seems userdata is not supported in " @@ -112,10 +115,11 @@ class Results(object): def add_success(self, test): self.add_to_summary(2, "PASS", test) - def check_ssh_output(self, vm_source, ip_source, - vm_target, ip_target, + def check_ssh_output(self, vm_source, vm_target, expected, timeout=30): console_log = vm_source.get_console_output() + ip_source = vm_source.networks.itervalues().next()[0] + ip_target = vm_target.networks.itervalues().next()[0] if "request failed" in console_log: # Normally, cirros displays this message when userdata fails diff --git a/test/functest/testcase_1.py b/test/functest/testcase_1.py index a84478f..143945d 100644 --- a/test/functest/testcase_1.py +++ b/test/functest/testcase_1.py @@ -132,7 +132,6 @@ def main(): secgroup_name=TESTCASE_CONFIG.secgroup_name, compute_node=av_zone_1, userdata=u1) - vm_1_ip = vm_1.networks.itervalues().next()[0] msg = ("Create VPN with eRT<>iRT") results.record_action(msg) @@ -163,15 +162,9 @@ def main(): logger.error("One or more instances is down") # TODO: Handle this appropriately - # Ping from VM1 to VM2 should work - results.get_ping_status(vm_1, vm_1_ip, vm_2, vm_2_ip, - expected="PASS", timeout=200) - # Ping from VM1 to VM3 should work - results.get_ping_status(vm_1, vm_1_ip, vm_3, vm_3_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM4 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="FAIL", timeout=30) + results.get_ping_status(vm_1, vm_2, expected="PASS", timeout=200) + results.get_ping_status(vm_1, vm_3, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="FAIL", timeout=30) msg = ("Associate network '%s' to the VPN." % TESTCASE_CONFIG.net_2_name) results.add_to_summary(0, "-") @@ -189,15 +182,9 @@ def main(): " updated network configuration") test_utils.wait_before_subtest() - # Ping from VM4 to VM5 should work - results.get_ping_status(vm_4, vm_4_ip, vm_5, vm_5_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM4 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="FAIL", timeout=30) - # Ping from VM1 to VM5 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_5, vm_5_ip, - expected="FAIL", timeout=30) + results.get_ping_status(vm_4, vm_5, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="FAIL", timeout=30) + results.get_ping_status(vm_1, vm_5, expected="FAIL", timeout=30) msg = ("Update VPN with eRT=iRT ...") results.add_to_summary(0, "-") @@ -212,12 +199,8 @@ def main(): " updated network configuration") test_utils.wait_before_subtest() - # Ping from VM1 to VM4 should work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM5 should work - results.get_ping_status(vm_1, vm_1_ip, vm_5, vm_5_ip, - expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_5, expected="PASS", timeout=30) return results.compile_summary(TESTCASE_CONFIG.success_criteria) diff --git a/test/functest/testcase_2.py b/test/functest/testcase_2.py index d2c3d57..2875c5f 100644 --- a/test/functest/testcase_2.py +++ b/test/functest/testcase_2.py @@ -106,7 +106,6 @@ def main(): secgroup_name=TESTCASE_CONFIG.secgroup_name, compute_node=av_zone_1, userdata=userdata_common) - vm_2_ip = vm_2.networks.itervalues().next()[0] vm_3 = test_utils.create_instance( nova_client, @@ -118,7 +117,6 @@ def main(): secgroup_name=TESTCASE_CONFIG.secgroup_name, compute_node=av_zone_2, userdata=userdata_common) - vm_3_ip = vm_3.networks.itervalues().next()[0] vm_5 = test_utils.create_instance( nova_client, @@ -130,7 +128,6 @@ def main(): secgroup_name=TESTCASE_CONFIG.secgroup_name, compute_node=av_zone_2, userdata=userdata_common) - vm_5_ip = vm_5.networks.itervalues().next()[0] # We boot vm5 first because we need vm5_ip for vm4 userdata u4 = test_utils.generate_userdata_with_ssh( @@ -148,7 +145,6 @@ def main(): compute_node=av_zone_1, userdata=u4, files=files) - vm_4_ip = vm_4.networks.itervalues().next()[0] # We boot VM1 at the end because we need to get the IPs first to generate # the userdata @@ -168,7 +164,6 @@ def main(): compute_node=av_zone_1, userdata=u1, files=files) - vm_1_ip = vm_1.networks.itervalues().next()[0] msg = ("Create VPN1 with eRT=iRT") results.record_action(msg) @@ -203,17 +198,13 @@ def main(): test_utils.wait_before_subtest() # 10.10.10.12 should return sdnvpn-2 to sdnvpn-1 - results.check_ssh_output( - vm_1, vm_1_ip, - vm_2, vm_2_ip, - expected=TESTCASE_CONFIG.instance_2_name, - timeout=200) + results.check_ssh_output(vm_1, vm_2, + expected=TESTCASE_CONFIG.instance_2_name, + timeout=200) # 10.10.11.13 should return sdnvpn-3 to sdnvpn-1 - results.check_ssh_output( - vm_1, vm_1_ip, - vm_3, vm_3_ip, - expected=TESTCASE_CONFIG.instance_3_name, - timeout=30) + results.check_ssh_output(vm_1, vm_3, + expected=TESTCASE_CONFIG.instance_3_name, + timeout=30) results.add_to_summary(0, "-") msg = ("Create VPN2 with eRT=iRT") @@ -243,15 +234,14 @@ def main(): test_utils.wait_before_subtest() # 10.10.11.13 should return sdnvpn-5 to sdnvpn-4 - results.check_ssh_output( - vm_4, vm_4_ip, - vm_5, vm_5_ip, - expected=TESTCASE_CONFIG.instance_5_name, - timeout=30) + results.check_ssh_output(vm_4, vm_5, + expected=TESTCASE_CONFIG.instance_5_name, + timeout=30) # 10.10.10.11 should return "not reachable" to sdnvpn-4 - results.check_ssh_output( - vm_4, vm_4_ip, vm_1, vm_1_ip, expected="not reachable", timeout=30) + results.check_ssh_output(vm_4, vm_1, + expected="not reachable", + timeout=30) return results.compile_summary(TESTCASE_CONFIG.success_criteria) diff --git a/test/functest/testcase_4.py b/test/functest/testcase_4.py index 7485e84..61d8c97 100644 --- a/test/functest/testcase_4.py +++ b/test/functest/testcase_4.py @@ -132,7 +132,6 @@ def main(): secgroup_name=TESTCASE_CONFIG.secgroup_name, compute_node=av_zone_1, userdata=u1) - vm_1_ip = vm_1.networks.itervalues().next()[0] msg = ("Create VPN with eRT<>iRT") results.record_action(msg) @@ -161,15 +160,9 @@ def main(): logger.error("One or more instances is down") # TODO Handle appropriately - # Ping from VM1 to VM2 should work - results.get_ping_status(vm_1, vm_1_ip, vm_2, vm_2_ip, - expected="PASS", timeout=200) - # Ping from VM1 to VM3 should work - results.get_ping_status(vm_1, vm_1_ip, vm_3, vm_3_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM4 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="FAIL", timeout=30) + results.get_ping_status(vm_1, vm_2, expected="PASS", timeout=200) + results.get_ping_status(vm_1, vm_3, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="FAIL", timeout=30) msg = ("Associate network '%s' to the VPN." % TESTCASE_CONFIG.net_2_name) results.add_to_summary(0, "-") @@ -187,15 +180,9 @@ def main(): " updated network configuration") test_utils.wait_before_subtest() - # Ping from VM4 to VM5 should work - results.get_ping_status(vm_4, vm_4_ip, vm_5, vm_5_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM4 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="FAIL", timeout=30) - # Ping from VM1 to VM5 should not work - results.get_ping_status(vm_1, vm_1_ip, vm_5, vm_5_ip, - expected="FAIL", timeout=30) + results.get_ping_status(vm_4, vm_5, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="FAIL", timeout=30) + results.get_ping_status(vm_1, vm_5, expected="FAIL", timeout=30) msg = ("Update VPN with eRT=iRT ...") results.add_to_summary(0, "-") @@ -210,12 +197,8 @@ def main(): " updated network configuration") test_utils.wait_before_subtest() - # Ping from VM1 to VM4 should work - results.get_ping_status(vm_1, vm_1_ip, vm_4, vm_4_ip, - expected="PASS", timeout=30) - # Ping from VM1 to VM5 should work - results.get_ping_status(vm_1, vm_1_ip, vm_5, vm_5_ip, - expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_4, expected="PASS", timeout=30) + results.get_ping_status(vm_1, vm_5, expected="PASS", timeout=30) results.add_to_summary(0, "=") logger.info("\n%s" % results.summary) -- cgit 1.2.3-korg