def main(): """Main method for cleaning up OVS bridges. The utility cleans up the integration bridges used by Quantum. """ conf = setup_conf() conf() configuration_bridges = set([conf.ovs_integration_bridge, conf.external_network_bridge]) ovs_bridges = set(ovs_lib.get_bridges(conf.AGENT.root_helper)) available_configuration_bridges = configuration_bridges & ovs_bridges if conf.ovs_all_ports: bridges = ovs_bridges else: bridges = available_configuration_bridges # Collect existing ports created by Quantum on configuration bridges. # After deleting ports from OVS bridges, we cannot determine which # ports were created by Quantum, so port information is collected now. ports = collect_quantum_ports(available_configuration_bridges, conf.AGENT.root_helper) for bridge in bridges: LOG.info(_("Cleaning %s"), bridge) ovs = ovs_lib.OVSBridge(bridge, conf.AGENT.root_helper) ovs.delete_ports(all_ports=conf.ovs_all_ports) # Remove remaining ports created by Quantum (usually veth pair) delete_quantum_ports(ports, conf.AGENT.root_helper) LOG.info(_("OVS cleanup completed successfully"))
def main(): """Main method for cleaning up OVS bridges. The utility cleans up the integration bridges used by Quantum. """ conf = setup_conf() conf() config.setup_logging(conf) configuration_bridges = set( [conf.ovs_integration_bridge, conf.external_network_bridge]) ovs_bridges = set(ovs_lib.get_bridges(conf.AGENT.root_helper)) available_configuration_bridges = configuration_bridges & ovs_bridges if conf.ovs_all_ports: bridges = ovs_bridges else: bridges = available_configuration_bridges # Collect existing ports created by Quantum on configuration bridges. # After deleting ports from OVS bridges, we cannot determine which # ports were created by Quantum, so port information is collected now. ports = collect_quantum_ports(available_configuration_bridges, conf.AGENT.root_helper) for bridge in bridges: LOG.info(_("Cleaning %s"), bridge) ovs = ovs_lib.OVSBridge(bridge, conf.AGENT.root_helper) ovs.delete_ports(all_ports=conf.ovs_all_ports) # Remove remaining ports created by Quantum (usually veth pair) delete_quantum_ports(ports, conf.AGENT.root_helper) LOG.info(_("OVS cleanup completed successfully"))
def test_get_bridges(self): bridges = ['br-int', 'br-ex'] root_helper = 'sudo' utils.execute(["ovs-vsctl", self.TO, "list-br"], root_helper=root_helper).AndReturn('br-int\nbr-ex\n') self.mox.ReplayAll() self.assertEqual(ovs_lib.get_bridges(root_helper), bridges) self.mox.VerifyAll()
def main(): """Main method for cleaning up OVS bridges. The utility cleans up the integration bridges used by Quantum. """ conf = setup_conf() conf() configuration_bridges = set([conf.ovs_integration_bridge, conf.external_network_bridge]) ovs_bridges = set(ovs_lib.get_bridges(conf.AGENT.root_helper)) if conf.ovs_all_ports: bridges = ovs_bridges else: bridges = configuration_bridges & ovs_bridges for bridge in bridges: LOG.info(_("Cleaning %s"), bridge) ovs = ovs_lib.OVSBridge(bridge, conf.AGENT.root_helper) ovs.delete_ports(all_ports=conf.ovs_all_ports) LOG.info(_("OVS cleanup completed successfully"))