summaryrefslogtreecommitdiffstats
path: root/test/functest
diff options
context:
space:
mode:
Diffstat (limited to 'test/functest')
-rw-r--r--test/functest/results.py12
-rw-r--r--test/functest/testcase_1.py33
-rw-r--r--test/functest/testcase_2.py34
-rw-r--r--test/functest/testcase_4.py33
4 files changed, 36 insertions, 76 deletions
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)