diff options
-rw-r--r-- | sdnvpn/lib/utils.py | 16 | ||||
-rw-r--r-- | sdnvpn/test/functest/testcase_3.py | 37 |
2 files changed, 27 insertions, 26 deletions
diff --git a/sdnvpn/lib/utils.py b/sdnvpn/lib/utils.py index 5eeb667..59f641b 100644 --- a/sdnvpn/lib/utils.py +++ b/sdnvpn/lib/utils.py @@ -509,6 +509,14 @@ def attach_instance_to_ext_br(instance, compute_node): def detach_instance_from_ext_br(instance, compute_node): libvirt_instance_name = getattr(instance, "OS-EXT-SRV-ATTR:instance_name") + mac = compute_node.run_cmd("for vm in $(sudo virsh list | " + "grep running | awk '{print $2}'); " + "do echo -n ; sudo virsh dumpxml $vm| " + "grep -oP '52:54:[\da-f:]+' ;done") + compute_node.run_cmd("sudo virsh detach-interface --domain %s" + " --type bridge --mac %s" + % (libvirt_instance_name, mac)) + installer_type = str(os.environ['INSTALLER_TYPE'].lower()) if installer_type == "fuel": bridge = "br-ex" @@ -528,11 +536,3 @@ def detach_instance_from_ext_br(instance, compute_node): sudo brctl delbr {bridge} """ compute_node.run_cmd(cmd.format(bridge=bridge)) - - mac = compute_node.run_cmd("for vm in $(sudo virsh list | " - "grep running | awk '{print $2}'); " - "do echo -n ; sudo virsh dumpxml $vm| " - "grep -oP '52:54:[\da-f:]+' ;done") - compute_node.run_cmd("sudo virsh detach-interface --domain %s" - " --type bridge --mac %s" - % (libvirt_instance_name, mac)) diff --git a/sdnvpn/test/functest/testcase_3.py b/sdnvpn/test/functest/testcase_3.py index 3b7be0c..3a63147 100644 --- a/sdnvpn/test/functest/testcase_3.py +++ b/sdnvpn/test/functest/testcase_3.py @@ -236,24 +236,25 @@ def main(): results.add_failure(msg) test_utils.attach_instance_to_ext_br(quagga_vm, compute) - testcase = "Bootstrap quagga inside an OpenStack instance" - cloud_init_success = test_utils.wait_for_cloud_init(quagga_vm) - if cloud_init_success: - results.add_success(testcase) - else: - results.add_failure(testcase) - results.add_to_summary(0, "=") - - results.add_to_summary(0, '-') - results.add_to_summary(1, "Peer Quagga with OpenDaylight") - results.add_to_summary(0, '-') - - neighbor = quagga.odl_add_neighbor(fake_fip['fip_addr'], - controller_ext_ip, - controller) - peer = quagga.check_for_peering(controller) - - test_utils.detach_instance_from_ext_br(quagga_vm, compute) + try: + testcase = "Bootstrap quagga inside an OpenStack instance" + cloud_init_success = test_utils.wait_for_cloud_init(quagga_vm) + if cloud_init_success: + results.add_success(testcase) + else: + results.add_failure(testcase) + results.add_to_summary(0, "=") + + results.add_to_summary(0, '-') + results.add_to_summary(1, "Peer Quagga with OpenDaylight") + results.add_to_summary(0, '-') + + neighbor = quagga.odl_add_neighbor(fake_fip['fip_addr'], + controller_ext_ip, + controller) + peer = quagga.check_for_peering(controller) + finally: + test_utils.detach_instance_from_ext_br(quagga_vm, compute) if neighbor and peer: results.add_success("Peering with quagga") |