Merge "Prepare for multiple cisco ML2 mech drivers"
This commit is contained in:
commit
27012a178b
@ -1,19 +0,0 @@
|
||||
Neutron ML2 Cisco Mechanism Drivers README
|
||||
|
||||
Cisco mechanism drivers implement the ML2 driver APIs for managing
|
||||
Cisco devices.
|
||||
|
||||
Notes:
|
||||
The initial version of the Cisco Nexus driver supports only the
|
||||
VLAN network type on a single physical network.
|
||||
|
||||
Provider networks are not currently supported.
|
||||
|
||||
The Cisco Nexus mechanism driver's database may have duplicate entries also
|
||||
found in the core ML2 database. Since the Cisco Nexus DB code is a port from
|
||||
the plugins/cisco implementation this duplication will remain until the
|
||||
plugins/cisco code is deprecated.
|
||||
|
||||
|
||||
For more details on using Cisco Nexus switches under ML2 please refer to:
|
||||
http://wiki.openstack.org/wiki/Neutron/ML2/MechCiscoNexus
|
19
neutron/plugins/ml2/drivers/cisco/nexus/README
Normal file
19
neutron/plugins/ml2/drivers/cisco/nexus/README
Normal file
@ -0,0 +1,19 @@
|
||||
Neutron ML2 Cisco Nexus Mechanism Driver README
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
The initial version of this driver supports only a single physical
|
||||
network.
|
||||
|
||||
For provider networks, extended configuration options are not
|
||||
currently supported.
|
||||
|
||||
This driver's database may have duplicate entries also found in the
|
||||
core ML2 database. Since the Cisco Nexus DB code is a port from the
|
||||
plugins/cisco implementation this duplication will remain until the
|
||||
plugins/cisco code is deprecated.
|
||||
|
||||
|
||||
For more details on using Cisco Nexus switches under ML2 please refer to:
|
||||
http://wiki.openstack.org/wiki/Neutron/ML2/MechCiscoNexus
|
0
neutron/plugins/ml2/drivers/cisco/nexus/__init__.py
Normal file
0
neutron/plugins/ml2/drivers/cisco/nexus/__init__.py
Normal file
@ -15,25 +15,6 @@
|
||||
#
|
||||
|
||||
|
||||
# Attachment attributes
|
||||
INSTANCE_ID = 'instance_id'
|
||||
TENANT_ID = 'tenant_id'
|
||||
TENANT_NAME = 'tenant_name'
|
||||
HOST_NAME = 'host_name'
|
||||
|
||||
# Network attributes
|
||||
NET_ID = 'id'
|
||||
NET_NAME = 'name'
|
||||
NET_VLAN_ID = 'vlan_id'
|
||||
NET_VLAN_NAME = 'vlan_name'
|
||||
NET_PORTS = 'ports'
|
||||
|
||||
# Network types
|
||||
NETWORK_TYPE_FLAT = 'flat'
|
||||
NETWORK_TYPE_LOCAL = 'local'
|
||||
NETWORK_TYPE_VLAN = 'vlan'
|
||||
NETWORK_TYPE_NONE = 'none'
|
||||
|
||||
CREDENTIAL_USERNAME = 'user_name'
|
||||
CREDENTIAL_PASSWORD = 'password'
|
||||
|
||||
@ -41,8 +22,3 @@ USERNAME = 'username'
|
||||
PASSWORD = 'password'
|
||||
|
||||
NETWORK_ADMIN = 'network_admin'
|
||||
|
||||
NETWORK = 'network'
|
||||
PORT = 'port'
|
||||
CONTEXT = 'context'
|
||||
SUBNET = 'subnet'
|
@ -14,10 +14,10 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
from neutron.plugins.ml2.drivers.cisco import config as config
|
||||
from neutron.plugins.ml2.drivers.cisco import constants as const
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as cexc
|
||||
from neutron.plugins.ml2.drivers.cisco import network_db_v2 as cdb
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import config
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import constants as const
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as cexc
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import network_db_v2 as cdb
|
||||
|
||||
|
||||
TENANT = const.NETWORK_ADMIN
|
@ -13,7 +13,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
"""Exceptions used by Cisco ML2 mechanism drivers."""
|
||||
"""Exceptions used by Cisco Nexus ML2 mechanism driver."""
|
||||
|
||||
from neutron.common import exceptions
|
||||
|
@ -22,12 +22,13 @@ from oslo.config import cfg
|
||||
from neutron.common import constants as n_const
|
||||
from neutron.extensions import portbindings
|
||||
from neutron.openstack.common import log as logging
|
||||
from neutron.plugins.common import constants as p_const
|
||||
from neutron.plugins.ml2 import driver_api as api
|
||||
from neutron.plugins.ml2.drivers.cisco import config as conf
|
||||
from neutron.plugins.ml2.drivers.cisco import credentials_v2 as cred
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as excep
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_db_v2 as nxos_db
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_network_driver
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import config as conf
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import credentials_v2 as cred
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as excep
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_db_v2 as nxos_db
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_network_driver
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@ -57,7 +58,7 @@ class CiscoNexusMechanismDriver(api.MechanismDriver):
|
||||
|
||||
def _get_vlanid(self, context):
|
||||
segment = context.bound_segment
|
||||
if (segment and segment[api.NETWORK_TYPE] == 'vlan' and
|
||||
if (segment and segment[api.NETWORK_TYPE] == p_const.TYPE_VLAN and
|
||||
self._valid_network_segment(segment)):
|
||||
return context.bound_segment.get(api.SEGMENTATION_ID)
|
||||
|
@ -19,9 +19,10 @@ from sqlalchemy.orm import exc
|
||||
from neutron.db import api as db
|
||||
from neutron.openstack.common import log as logging
|
||||
from neutron.openstack.common import uuidutils
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco import network_models_v2
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_models_v2 # noqa
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import constants as const
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import network_models_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_models_v2 # noqa
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
@ -104,9 +105,9 @@ def update_credential(tenant_id, credential_id,
|
||||
filter_by(tenant_id=tenant_id).
|
||||
filter_by(credential_id=credential_id).one())
|
||||
if new_user_name:
|
||||
cred["user_name"] = new_user_name
|
||||
cred[const.CREDENTIAL_USERNAME] = new_user_name
|
||||
if new_password:
|
||||
cred["password"] = new_password
|
||||
cred[const.CREDENTIAL_PASSWORD] = new_password
|
||||
session.merge(cred)
|
||||
session.flush()
|
||||
return cred
|
@ -18,8 +18,8 @@ import sqlalchemy.orm.exc as sa_exc
|
||||
|
||||
import neutron.db.api as db
|
||||
from neutron.openstack.common import log as logging
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_models_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_models_v2
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
@ -20,12 +20,12 @@ Implements a Nexus-OS NETCONF over SSHv2 API Client
|
||||
from neutron.openstack.common import excutils
|
||||
from neutron.openstack.common import importutils
|
||||
from neutron.openstack.common import log as logging
|
||||
from neutron.plugins.ml2.drivers.cisco import config as conf
|
||||
from neutron.plugins.ml2.drivers.cisco import constants as const
|
||||
from neutron.plugins.ml2.drivers.cisco import credentials_v2 as cred
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as cexc
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_snippets as snipp
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import config as conf
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import constants as const
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import credentials_v2 as cred
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as cexc
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_snippets as snipp
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
0
neutron/tests/unit/ml2/drivers/cisco/__init__.py
Normal file
0
neutron/tests/unit/ml2/drivers/cisco/__init__.py
Normal file
@ -25,10 +25,10 @@ from neutron.extensions import portbindings
|
||||
from neutron.manager import NeutronManager
|
||||
from neutron.openstack.common import log as logging
|
||||
from neutron.plugins.ml2 import config as ml2_config
|
||||
from neutron.plugins.ml2.drivers.cisco import config as cisco_config
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco import mech_cisco_nexus
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_network_driver
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import config as cisco_config
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as c_exc
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import mech_cisco_nexus
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_network_driver
|
||||
from neutron.plugins.ml2.drivers import type_vlan as vlan_config
|
||||
from neutron.tests.unit import test_db_plugin
|
||||
|
@ -17,8 +17,8 @@ import collections
|
||||
import testtools
|
||||
|
||||
from neutron.db import api as db
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco import network_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import network_db_v2
|
||||
from neutron.tests import base
|
||||
|
||||
|
@ -22,11 +22,11 @@ from neutron.db import api as db
|
||||
from neutron.extensions import portbindings
|
||||
from neutron.openstack.common import importutils
|
||||
from neutron.plugins.ml2 import driver_api as api
|
||||
from neutron.plugins.ml2.drivers.cisco import constants
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco import mech_cisco_nexus
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_network_driver
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import constants
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import mech_cisco_nexus
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_network_driver
|
||||
from neutron.tests import base
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ DEVICE_OWNER = 'compute:test'
|
||||
NEXUS_SSH_PORT = '22'
|
||||
PORT_STATE = n_const.PORT_STATUS_ACTIVE
|
||||
NETWORK_TYPE = 'vlan'
|
||||
NEXUS_DRIVER = ('neutron.plugins.ml2.drivers.cisco.'
|
||||
NEXUS_DRIVER = ('neutron.plugins.ml2.drivers.cisco.nexus.'
|
||||
'nexus_network_driver.CiscoNexusDriver')
|
||||
|
||||
|
@ -17,8 +17,8 @@ import collections
|
||||
import testtools
|
||||
|
||||
from neutron.db import api as db
|
||||
from neutron.plugins.ml2.drivers.cisco import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco import nexus_db_v2
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import exceptions
|
||||
from neutron.plugins.ml2.drivers.cisco.nexus import nexus_db_v2
|
||||
from neutron.tests import base
|
||||
|
||||
|
@ -157,7 +157,7 @@ neutron.ml2.mechanism_drivers =
|
||||
hyperv = neutron.plugins.ml2.drivers.mech_hyperv:HypervMechanismDriver
|
||||
ncs = neutron.plugins.ml2.drivers.mechanism_ncs:NCSMechanismDriver
|
||||
arista = neutron.plugins.ml2.drivers.mech_arista.mechanism_arista:AristaDriver
|
||||
cisco_nexus = neutron.plugins.ml2.drivers.cisco.mech_cisco_nexus:CiscoNexusMechanismDriver
|
||||
cisco_nexus = neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus:CiscoNexusMechanismDriver
|
||||
l2population = neutron.plugins.ml2.drivers.l2pop.mech_driver:L2populationMechanismDriver
|
||||
bigswitch = neutron.plugins.ml2.drivers.mech_bigswitch.driver:BigSwitchMechanismDriver
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user