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"
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))
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")