Trivial openvswitch plugin cleanup.

Part of provider-networks phase 3 development, but merging separately
to avoid confusion later.

- eliminate target_v2_api config variable
- eliminate old V1 version of Port
- remove unused import

Change-Id: I913def752ec537a7e74a6173f2b6f82372a4dce8
This commit is contained in:
Bob Kukura 2012-08-14 12:21:05 -04:00
parent cf73cc615c
commit 1daa50cc63
5 changed files with 14 additions and 70 deletions

View File

@ -41,8 +41,6 @@ polling_interval = 2
# Change to "sudo quantum-rootwrap" to limit commands that can be run
# as root.
root_helper = sudo
# Use Quantumv2 API
target_v2_api = False
#-----------------------------------------------------------------------------
# Sample Configurations.
@ -58,8 +56,6 @@ target_v2_api = False
# root_helper = sudo
# Add the following setting, if you want to log to a file
# log_file = /var/log/quantum/ovs_quantum_agent.log
# Use Quantumv2 API
# target_v2_api = False
#
# 2. With tunneling.
# [DATABASE]

View File

@ -74,36 +74,6 @@ class Port(object):
still available even if a row has been deleted.
"""
def __init__(self, p):
self.uuid = p.uuid
self.network_id = p.network_id
self.interface_id = p.interface_id
self.state = p.state
self.status = p.op_status
def __eq__(self, other):
'''Compare only fields that will cause us to re-wire.'''
try:
return (self and other
and self.interface_id == other.interface_id
and self.state == other.state)
except:
return False
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash(self.uuid)
class Portv2(object):
"""Represents a quantumv2 port.
Class stores port data in a ORM-free way, so attributres are
still available even if a row has been deleted.
"""
def __init__(self, p):
self.id = p.id
self.network_id = p.network_id
@ -180,12 +150,11 @@ class OVSRpcCallbacks():
class OVSQuantumAgent(object):
def __init__(self, integ_br, root_helper, polling_interval,
reconnect_interval, target_v2_api, rpc):
reconnect_interval, rpc):
self.root_helper = root_helper
self.setup_integration_br(integ_br)
self.polling_interval = polling_interval
self.reconnect_interval = reconnect_interval
self.target_v2_api = target_v2_api
self.rpc = rpc
if rpc:
self.setup_rpc(integ_br)
@ -251,10 +220,7 @@ class OVSQuantumAgent(object):
continue
for port in ports:
if self.target_v2_api:
all_bindings[port.id] = port
else:
all_bindings[port.interface_id] = port
all_bindings[port.id] = port
vlan_bindings = {}
try:
@ -448,8 +414,7 @@ class OVSQuantumTunnelAgent(object):
MAX_VLAN_TAG = 4094
def __init__(self, integ_br, tun_br, local_ip, root_helper,
polling_interval, reconnect_interval, target_v2_api,
rpc):
polling_interval, reconnect_interval, rpc):
'''Constructor.
:param integ_br: name of the integration bridge.
@ -458,7 +423,6 @@ class OVSQuantumTunnelAgent(object):
:param root_helper: utility to use when running shell cmds.
:param polling_interval: interval (secs) to poll DB.
:param reconnect_internal: retry interval (secs) on DB error.
:param target_v2_api: if True use v2 api.
:param rpc: if True use RPC interface to interface with plugin.
'''
self.root_helper = root_helper
@ -474,7 +438,6 @@ class OVSQuantumTunnelAgent(object):
self.local_ip = local_ip
self.tunnel_count = 0
self.setup_tunnel_br(tun_br)
self.target_v2_api = target_v2_api
self.rpc = rpc
if rpc:
self.setup_rpc(integ_br)
@ -647,12 +610,8 @@ class OVSQuantumTunnelAgent(object):
while True:
try:
if self.target_v2_api:
all_bindings = dict((p.id, Portv2(p))
for p in db.ports.all())
else:
all_bindings = dict((p.interface_id, Port(p))
for p in db.ports.all())
all_bindings = dict((p.id, Port(p))
for p in db.ports.all())
all_bindings_vif_port_ids = set(all_bindings)
lsw_id_bindings = dict((bind.network_id, bind.vlan_id)
for bind in db.vlan_bindings.all())
@ -881,13 +840,6 @@ def main():
root_helper = cfg.CONF.AGENT.root_helper
rpc = cfg.CONF.AGENT.rpc
# Determine API Version to use
target_v2_api = cfg.CONF.AGENT.target_v2_api
# RPC only works with v2
if rpc and not target_v2_api:
rpc = False
if enable_tunneling:
# Get parameters for OVSQuantumTunnelAgent
tun_br = cfg.CONF.OVS.tunnel_bridge
@ -895,11 +847,11 @@ def main():
local_ip = cfg.CONF.OVS.local_ip
plugin = OVSQuantumTunnelAgent(integ_br, tun_br, local_ip, root_helper,
polling_interval, reconnect_interval,
target_v2_api, rpc)
rpc)
else:
# Get parameters for OVSQuantumAgent.
plugin = OVSQuantumAgent(integ_br, root_helper, polling_interval,
reconnect_interval, target_v2_api, rpc)
reconnect_interval, rpc)
# Start everything.
plugin.daemon_loop(db_connection_url)

View File

@ -36,7 +36,6 @@ ovs_opts = [
]
agent_opts = [
cfg.BoolOpt('target_v2_api', default=True),
cfg.IntOpt('polling_interval', default=2),
cfg.StrOpt('root_helper', default='sudo'),
cfg.StrOpt('log_file', default=None),

View File

@ -27,7 +27,6 @@ from quantum.api import api_common
from quantum.api.v2 import attributes
from quantum.common import exceptions as q_exc
from quantum.common import topics
from quantum.common.utils import find_config_file
from quantum.db import api as db
from quantum.db import db_base_plugin_v2
from quantum.db import models_v2
@ -196,10 +195,8 @@ class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
# update the vlan_id table based on current configuration
ovs_db_v2.update_vlan_id_pool()
self.rpc = cfg.CONF.AGENT.rpc
if cfg.CONF.AGENT.rpc and cfg.CONF.AGENT.target_v2_api:
if cfg.CONF.AGENT.rpc:
self.setup_rpc()
if not cfg.CONF.AGENT.target_v2_api:
self.rpc = False
def setup_rpc(self):
# RPC support

View File

@ -81,7 +81,7 @@ class TunnelTest(unittest.TestCase):
b = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
self.mox.VerifyAll()
def testProvisionLocalVlan(self):
@ -98,7 +98,7 @@ class TunnelTest(unittest.TestCase):
a = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
a.available_local_vlans = set([LV_ID])
a.provision_local_vlan(NET_UUID, LS_ID)
self.mox.VerifyAll()
@ -112,7 +112,7 @@ class TunnelTest(unittest.TestCase):
a = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
a.available_local_vlans = set()
a.local_vlan_map[NET_UUID] = LVM
a.reclaim_local_vlan(NET_UUID, LVM)
@ -128,7 +128,7 @@ class TunnelTest(unittest.TestCase):
a = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
a.local_vlan_map[NET_UUID] = LVM
a.port_bound(VIF_PORT, NET_UUID, LS_ID)
self.mox.VerifyAll()
@ -138,7 +138,7 @@ class TunnelTest(unittest.TestCase):
a = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
a.available_local_vlans = set([LV_ID])
a.local_vlan_map[NET_UUID] = LVM
a.port_unbound(VIF_PORT, NET_UUID)
@ -155,7 +155,7 @@ class TunnelTest(unittest.TestCase):
a = ovs_quantum_agent.OVSQuantumTunnelAgent(self.INT_BRIDGE,
self.TUN_BRIDGE,
'10.0.0.1',
'sudo', 2, 2, False, False)
'sudo', 2, 2, False)
a.available_local_vlans = set([LV_ID])
a.local_vlan_map[NET_UUID] = LVM
a.port_dead(VIF_PORT)