This Page

The quantum.plugins.openvswitch.ovs_quantum_plugin Module

class quantum.plugins.openvswitch.ovs_quantum_plugin.AgentNotifierApi(topic)

Bases: quantum.openstack.common.rpc.proxy.RpcProxy, quantum.agent.securitygroups_rpc.SecurityGroupAgentRpcApiMixin

Agent side of the openvswitch rpc API.

API version history:
1.0 - Initial version.
BASE_RPC_API_VERSION = '1.0'
network_delete(context, network_id)
port_update(context, port, network_type, segmentation_id, physical_network)
tunnel_update(context, tunnel_ip, tunnel_id)
class quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2(configfile=None)

Bases: quantum.db.db_base_plugin_v2.QuantumDbPluginV2, quantum.db.extraroute_db.ExtraRoute_db_mixin, quantum.db.securitygroups_rpc_base.SecurityGroupServerRpcMixin, quantum.db.agentschedulers_db.AgentSchedulerDbMixin

Implement the Quantum abstractions using Open vSwitch.

Depending on whether tunneling is enabled, either a GRE tunnel or a new VLAN is created for each network. An agent is relied upon to perform the actual OVS configuration on each host.

The provider extension is also supported. As discussed in https://bugs.launchpad.net/quantum/+bug/1023156, this class could be simplified, and filtering on extended attributes could be handled, by adding support for extended attributes to the QuantumDbPluginV2 base class. When that occurs, this class should be updated to take advantage of it.

The port binding extension enables an external application relay information to and from the plugin.

binding_set = 'extension:port_binding:set'
binding_view = 'extension:port_binding:view'
create_network(context, network)
create_port(context, port)
delete_network(context, id)
delete_port(context, id, l3_port_check=True)
get_network(context, id, fields=None)
get_networks(context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False)
get_port(context, id, fields=None)
get_ports(context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False)
network_set = 'extension:provider_network:set'
network_view = 'extension:provider_network:view'
setup_rpc()
supported_extension_aliases
update_network(context, id, network)
update_port(context, id, port)
class quantum.plugins.openvswitch.ovs_quantum_plugin.OVSRpcCallbacks(notifier)

Bases: quantum.db.dhcp_rpc_base.DhcpRpcCallbackMixin, quantum.db.l3_rpc_base.L3RpcCallbackMixin, quantum.db.securitygroups_rpc_base.SecurityGroupServerRpcCallbackMixin

RPC_API_VERSION = '1.1'
create_rpc_dispatcher()

Get the rpc dispatcher for this manager.

If a manager would like to set an rpc API version, or support more than one class as the target of rpc messages, override this method.

get_device_details(rpc_context, **kwargs)

Agent requests device details

classmethod get_port_from_device(device)
tunnel_sync(rpc_context, **kwargs)

Update new tunnel.

Updates the datbase with the tunnel IP. All listening agents will also be notified about the new tunnel IP.

update_device_down(rpc_context, **kwargs)

Device no longer exists on agent

update_device_up(rpc_context, **kwargs)

Device is up on agent