Esempio n. 1
0
def main():
    """Main method for cleaning up OVS bridges.

    The utility cleans up the integration bridges used by Neutron.
    """

    conf = setup_conf()
    conf()
    config.setup_logging()

    configuration_bridges = set([conf.ovs_integration_bridge,
                                 conf.external_network_bridge])
    ovs = ovs_lib.BaseOVS()
    ovs_bridges = set(ovs.get_bridges())
    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 Neutron on configuration bridges.
    # After deleting ports from OVS bridges, we cannot determine which
    # ports were created by Neutron, so port information is collected now.
    ports = collect_neutron_ports(available_configuration_bridges)

    for bridge in bridges:
        LOG.info(_LI("Cleaning bridge: %s"), bridge)
        ovs = ovs_lib.OVSBridge(bridge)
        ovs.delete_ports(all_ports=conf.ovs_all_ports)

    # Remove remaining ports created by Neutron (usually veth pair)
    delete_neutron_ports(ports)

    LOG.info(_LI("OVS cleanup completed successfully"))
Esempio n. 2
0
def unplug_device(conf, device):
    try:
        device.link.delete()
    except RuntimeError:
        # Maybe the device is OVS port, so try to delete
        ovs = ovs_lib.BaseOVS()
        bridge_name = ovs.get_bridge_for_iface(device.name)
        if bridge_name:
            bridge = ovs_lib.OVSBridge(bridge_name)
            bridge.delete_port(device.name)
        else:
            LOG.debug('Unable to find bridge for device: %s', device.name)
Esempio n. 3
0
    def setUp(self):
        super(BaseMonitorTest, self).setUp()

        self._check_test_requirements()

        self.root_helper = 'sudo'
        self.ovs = ovs_lib.BaseOVS(self.root_helper)
        self.bridge = create_ovs_resource('test-br-', self.ovs.add_bridge)

        def cleanup_bridge():
            self.bridge.destroy()
        self.addCleanup(cleanup_bridge)
Esempio n. 4
0
 def setUp(self):
     super(TestBaseOVS, self).setUp()
     self.root_helper = 'sudo'
     self.ovs = ovs_lib.BaseOVS(self.root_helper)
     self.br_name = 'bridge1'
Esempio n. 5
0
 def setUp(self):
     super(BaseOVSLinuxTestCase, self).setUp()
     self.ovs = ovs_lib.BaseOVS(self.root_helper)
Esempio n. 6
0
 def setUp(self):
     super(BaseOVSLinuxTestCase, self).setUp()
     self.config(group='OVS', ovsdb_interface=self.ovsdb_interface)
     self.ovs = ovs_lib.BaseOVS()
     self.ip = ip_lib.IPWrapper()
Esempio n. 7
0
 def setUp(self):
     super(OVSBridgeFixture, self).setUp()
     ovs = ovs_lib.BaseOVS()
     self.bridge = common_base.create_resource(self.prefix, ovs.add_bridge)
     self.addCleanup(self.bridge.destroy)
Esempio n. 8
0
 def setUp(self, root_helper='sudo'):
     super(BaseOVSLinuxTestCase, self).setUp(root_helper)
     self.ovs = ovs_lib.BaseOVS(self.root_helper)