reorganize service chain directory

With the introduction of the new servicechain plugin, some sort
of path reorganization is required so that the code doesn't become
confusing as new plugins are implemented.

The existing servicechain_plugin has been renamed "MSC" for
Modular Service Chain. The name recalls ML2 because of the MSC
structure being inspired by it.

The old entry point name is not removed from setup.cfg for backward
compatibility, still need to figure out a way to rename the configuration
files properly having the same goal in mind.

Partially implements blueprint node-centric-chain-plugin

Change-Id: I4f8db6f5fa30479aad283b07e499901af000a6c5
This commit is contained in:
Ivar Lazzaro
2015-04-22 18:43:06 -07:00
parent f6d273a13c
commit c66404c4b6
17 changed files with 35 additions and 27 deletions

View File

@@ -19,9 +19,10 @@ from gbpservice.neutron.services.servicechain.common import (
LOG = log.getLogger(__name__)
cfg.CONF.import_opt('servicechain_drivers',
'gbpservice.neutron.services.servicechain.config',
group='servicechain')
cfg.CONF.import_opt(
'servicechain_drivers',
'gbpservice.neutron.services.servicechain.plugins.msc.config',
group='servicechain')
class DriverManager(stevedore.named.NamedExtensionManager):

View File

@@ -25,7 +25,8 @@ import sqlalchemy as sa
from gbpservice.neutron.services.grouppolicy.drivers.oneconvergence import (
nvsd_gbp_api as napi)
from gbpservice.neutron.services.servicechain.drivers import simplechain_driver
from gbpservice.neutron.services.servicechain.plugins.msc.drivers import (
simplechain_driver as simplechain_driver)
eventlet.monkey_patch()

View File

@@ -15,10 +15,10 @@ from oslo_log import log as logging
from oslo_utils import excutils
import gbpservice.neutron.db.servicechain_db as servicechain_db
from gbpservice.neutron.services.servicechain import (
from gbpservice.neutron.services.servicechain.plugins.msc import (
context as servicechain_context)
from gbpservice.neutron.services.servicechain.plugins.msc import (
driver_manager as manager)
from gbpservice.neutron.services.servicechain import (
servicechain_context as servicechain_context)
LOG = logging.getLogger(__name__)

View File

@@ -31,9 +31,8 @@ DB_GP_PLUGIN_KLASS = (GroupPolicyMappingDBTestPlugin.__module__ + '.' +
GroupPolicyMappingDBTestPlugin.__name__)
SC_PLUGIN_KLASS = (
"gbpservice.neutron.services.servicechain.servicechain_plugin."
"ServiceChainPlugin"
)
"gbpservice.neutron.services.servicechain.plugins.msc.plugin."
"ServiceChainPlugin")
class GroupPolicyMappingDbTestCase(tgpdb.GroupPolicyDbTestCase,

View File

@@ -13,9 +13,9 @@
import contextlib
import itertools
import netaddr
import mock
import netaddr
from neutron.api.rpc.agentnotifiers import dhcp_rpc_agent_api
from neutron.common import constants as cst
from neutron import context as nctx
@@ -36,10 +36,12 @@ from gbpservice.neutron.db import servicechain_db
from gbpservice.neutron.services.grouppolicy.common import constants as gconst
from gbpservice.neutron.services.grouppolicy import config
from gbpservice.neutron.services.grouppolicy.drivers import resource_mapping
from gbpservice.neutron.services.servicechain import config as sc_cfg
from gbpservice.neutron.services.servicechain.plugins.msc import (
config as sc_cfg)
from gbpservice.neutron.tests.unit.services.grouppolicy import (
test_grouppolicy_plugin as test_plugin)
SERVICECHAIN_NODES = 'servicechain/servicechain_nodes'
SERVICECHAIN_SPECS = 'servicechain/servicechain_specs'
SERVICECHAIN_INSTANCES = 'servicechain/servicechain_instances'

View File

@@ -16,13 +16,13 @@ from oslo_config import cfg
from gbpservice.neutron.tests.unit.db.grouppolicy import (
test_servicechain_db as test_servicechain_db)
cfg.CONF.import_opt('servicechain_drivers',
'gbpservice.neutron.services.servicechain.config',
group='servicechain')
cfg.CONF.import_opt(
'servicechain_drivers',
'gbpservice.neutron.services.servicechain.plugins.msc.config',
group='servicechain')
SC_PLUGIN_KLASS = (
"gbpservice.neutron.services.servicechain.servicechain_plugin."
"ServiceChainPlugin"
)
"gbpservice.neutron.services.servicechain.plugins.msc.plugin."
"ServiceChainPlugin")
class ServiceChainPluginTestCase(test_servicechain_db.ServiceChainDbTestCase):

View File

@@ -20,11 +20,12 @@ from neutron.plugins.common import constants
from oslo_serialization import jsonutils
import webob
from gbpservice.neutron.services.servicechain import config
import gbpservice.neutron.services.servicechain.drivers.simplechain_driver as\
simplechain_driver
from gbpservice.neutron.tests.unit.services.servicechain import \
test_servicechain_plugin
from gbpservice.neutron.services.servicechain.plugins.msc import config
from gbpservice.neutron.services.servicechain.plugins.msc.drivers import (
simplechain_driver as simplechain_driver)
from gbpservice.neutron.tests.unit.services.servicechain import (
test_servicechain_plugin as test_servicechain_plugin)
STACK_DELETE_RETRIES = 5
STACK_DELETE_RETRY_WAIT = 3

View File

@@ -27,13 +27,17 @@ packages =
data_files =
etc/group-based-policy/policy.d =
etc/policy.json
etc/servicechain/plugins/msc =
etc/servicechain/plugins/msc/servicechain.ini
etc/servicechain/plugins/msc/simplechain.ini
[entry_points]
console_scripts=
gbp-db-manage = gbpservice.neutron.db.migration.cli:main
neutron.service_plugins =
group_policy = gbpservice.neutron.services.grouppolicy.plugin:GroupPolicyPlugin
servicechain = gbpservice.neutron.services.servicechain.servicechain_plugin:ServiceChainPlugin
servicechain = gbpservice.neutron.services.servicechain.plugins.msc.plugin:ServiceChainPlugin
msc = gbpservice.neutron.services.servicechain.plugins.msc.plugin:ServiceChainPlugin
gbpservice.neutron.group_policy.extension_drivers =
test = gbpservice.neutron.tests.unit.services.grouppolicy.test_extension_driver_api:TestExtensionDriver
gbpservice.neutron.group_policy.policy_drivers =
@@ -49,9 +53,9 @@ neutron.ml2.mechanism_drivers =
nuage_gbp = gbpservice.neutron.plugins.ml2.drivers.grouppolicy.nuage.driver:NuageMechanismGBPDriver
odl_gbp = gbpservice.neutron.plugins.ml2.drivers.grouppolicy.odl.driver:OdlMechanismGBPDriver
gbpservice.neutron.servicechain.servicechain_drivers =
dummy = gbpservice.neutron.services.servicechain.drivers.dummy_driver:NoopDriver
simplechain_driver = gbpservice.neutron.services.servicechain.drivers.simplechain_driver:SimpleChainDriver
oneconvergence_servicechain_driver = gbpservice.neutron.services.servicechain.drivers.oneconvergence_servicechain_driver:OneconvergenceServiceChainDriver
dummy = gbpservice.neutron.services.servicechain.plugins.msc.drivers.dummy_driver:NoopDriver
simplechain_driver = gbpservice.neutron.services.servicechain.plugins.msc.drivers.simplechain_driver:SimpleChainDriver
oneconvergence_servicechain_driver = gbpservice.neutron.services.servicechain.plugins.msc.drivers.oneconvergence_servicechain_driver:OneconvergenceServiceChainDriver
[build_sphinx]
source-dir = doc/source