+++ /dev/null
-neutron
\ No newline at end of file
[DEFAULT]
# List of directories to load filter definitions from (separated by ',').
# These directories MUST all be only writeable by root !
-filters_path=/etc/neutron/rootwrap.d,/usr/share/neutron/rootwrap,/etc/quantum/rootwrap.d,/usr/share/quantum/rootwrap
+filters_path=/etc/neutron/rootwrap.d,/usr/share/neutron/rootwrap
# List of directories to search executables in, in case filters do not
# explicitely specify a full path (separated by ',')
from neutron.agent import rpc as agent_rpc
from neutron.common import constants
from neutron.common import exceptions
-from neutron.common import legacy
from neutron.common import topics
from neutron.common import utils
from neutron import context
register_options()
cfg.CONF(project='neutron')
config.setup_logging(cfg.CONF)
- legacy.modernize_quantum_config(cfg.CONF)
server = neutron_service.Service.create(
binary='neutron-dhcp-agent',
topic=topics.DHCP_AGENT,
from neutron.agent.linux import ovs_lib # noqa
from neutron.agent import rpc as agent_rpc
from neutron.common import constants as l3_constants
-from neutron.common import legacy
from neutron.common import topics
from neutron.common import utils as common_utils
from neutron import context
conf.register_opts(external_process.OPTS)
conf(project='neutron')
config.setup_logging(conf)
- legacy.modernize_quantum_config(conf)
server = neutron_service.Service.create(
binary='neutron-l3-agent',
topic=topics.L3_AGENT,
+++ /dev/null
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2013 New Dream Network, LLC (DreamHost)
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# @author Mark McClain (DreamHost)
-
-from oslo.config import cfg
-
-from neutron.openstack.common import log as logging
-
-LOG = logging.getLogger(__name__)
-
-
-def scrub_class_path(cls_path):
- """Scrub from Quantum from old class_path references."""
-
- if isinstance(cls_path, basestring):
- if cls_path.startswith('quantum'):
- new_path = cls_path.replace('quantum', 'neutron')
- new_path = new_path.replace('Quantum', 'Neutron')
- LOG.warn(
- _("Old class module path in use. Please change '%(old)s' "
- "to '%(new)s'."),
- {'old': cls_path, 'new': new_path}
- )
- cls_path = new_path
- return cls_path
-
-
-def override_config(config, config_keys=None):
- """Attempt to override config_key with Neutron compatible values."""
-
- for key in config_keys:
- group = None
- if not isinstance(key, basestring):
- try:
- group, key, module_str = key
- old_value = getattr(getattr(config, group), key, None)
- except AttributeError:
- try:
- config.import_opt(key, module_str, group)
- old_value = getattr(getattr(config, group), key, None)
- except (cfg.NoSuchOptError,
- cfg.NoSuchGroupError,
- AttributeError):
- LOG.warn(_('Key %(key)s in group %(group)s is unknown. '
- 'It may not be defined or needed by this '
- 'service.') % {'key': key, 'group': group})
- continue
- else:
- old_value = getattr(config, key, None)
- if not old_value:
- continue
- elif isinstance(old_value, list):
- new_value = [scrub_class_path(v) for v in old_value]
- else:
- new_value = scrub_class_path(old_value)
-
- if new_value != old_value:
- config.set_override(key, new_value, group=group)
-
-
-def modernize_quantum_config(config):
- """Updates keys from old Quantum configurations for Neutron."""
- config_keys = [
- 'allowed_rpc_exception_modules',
- 'core_plugin',
- 'device_driver',
- 'dhcp_driver',
- 'driver_fqn',
- 'interface_driver',
- 'network_scheduler_driver',
- 'notification_driver',
- 'router_scheduler_driver',
- 'rpc_backend',
- 'service_plugins',
- ('SECURITYGROUP',
- 'firewall_driver',
- 'neutron.agent.securitygroups_rpc'),
- ]
-
- override_config(config, config_keys)
from alembic import util as alembic_util
from oslo.config import cfg
-from neutron.common import legacy
HEAD_FILENAME = 'HEAD'
CONF()
#TODO(gongysh) enable logging
- legacy.modernize_quantum_config(CONF)
CONF.command.func(config, CONF.command.name)
from neutron.agent.common import config
from neutron.agent.linux import interface
-from neutron.common import legacy
from neutron.debug.debug_agent import NeutronDebugAgent
from neutron.openstack.common import importutils
from neutronclient.common import exceptions as exc
config.register_root_helper(cfg.CONF)
cfg.CONF(['--config-file', self.options.config_file])
config.setup_logging(cfg.CONF)
- legacy.modernize_quantum_config(cfg.CONF)
driver = importutils.import_object(cfg.CONF.interface_driver, cfg.CONF)
self.debug_agent = NeutronDebugAgent(cfg.CONF, client, driver)
from oslo.config import cfg
-from neutron.common import legacy
from neutron.common import utils
from neutron.openstack.common import importutils
from neutron.openstack.common import log as logging
LOG.info(_("Loading core plugin: %s"), plugin_provider)
self.plugin = self._get_plugin_instance('neutron.core_plugins',
plugin_provider)
- legacy.modernize_quantum_config(cfg.CONF)
-
msg = validate_post_plugin_load()
if msg:
LOG.critical(msg)
In order to use Brocade Neutron Plugin, add the following lines in localrc, if localrc file doe
not exist create one:
-ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,quantum,q-svc,q-agt
+ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,neutron,q-svc,q-agt
Q_PLUGIN=brocade
As part of running devstack/stack.sh, the configuration files is copied as:
from neutron.agent import rpc as agent_rpc
from neutron.common import config as logging_config
from neutron.common import constants as n_const
-from neutron.common import legacy
from neutron.common import topics
from neutron.common import utils as n_utils
from neutron import context
cfg.CONF.register_opts(ip_lib.OPTS)
cfg.CONF(project='neutron')
logging_config.setup_logging(cfg.CONF)
- legacy.modernize_quantum_config(cfg.CONF)
try:
agent_config = create_agent_config_map(cfg.CONF)
# -- What's this?
-http://wiki.openstack.org/Quantum-NEC-OpenFlow-Plugin
+https://wiki.openstack.org/wiki/Neutron/NEC_OpenFlow_Plugin
# -- Installation
from neutron.agent import securitygroups_rpc as sg_rpc
from neutron.common import config as logging_config
from neutron.common import constants as q_const
-from neutron.common import legacy
from neutron.common import topics
from neutron.common import utils as q_utils
from neutron import context
cfg.CONF(project='neutron')
logging_config.setup_logging(cfg.CONF)
q_utils.log_opt_values(LOG)
- legacy.modernize_quantum_config(cfg.CONF)
try:
agent_config = create_agent_config_map(cfg.CONF)
import webob
from neutron.common import exceptions
-from neutron.common import legacy
from neutron.openstack.common import importutils
from neutron.openstack.common import log as logging
]
# Register the configuration options
cfg.CONF.register_opts(quota_opts, 'QUOTAS')
-legacy.override_config(cfg.CONF, [('QUOTAS', 'quota_driver', 'neutron.quota')])
class ConfDriver(object):
from oslo.config import cfg
from neutron.common import config
-from neutron.common import legacy
from neutron import context
from neutron import manager
from neutron import neutron_plugin_base_v2
# Log the options used when starting if we're in debug mode...
config.setup_logging(cfg.CONF)
- legacy.modernize_quantum_config(cfg.CONF)
# Dump the initial option values
cfg.CONF.log_opt_values(LOG, std_logging.DEBUG)
service = cls(app_name)
def serve_wsgi(cls):
try:
- try:
- service = cls.create()
- service.start()
- except RuntimeError:
- LOG.exception(_('Error occurred: trying old api-paste.ini.'))
- service = cls.create('quantum')
- service.start()
+ service = cls.create()
+ service.start()
except Exception:
with excutils.save_and_reraise_exception():
LOG.exception(_('Unrecoverable error: please check log '
from neutron.agent.linux import interface
from neutron.agent.linux import ip_lib
from neutron.common import constants as l3_constants
-from neutron.common import legacy
from neutron.common import topics
from neutron.openstack.common import log as logging
from neutron.openstack.common import service
conf.register_opts(external_process.OPTS)
conf(project='neutron')
config.setup_logging(conf)
- legacy.modernize_quantum_config(conf)
server = neutron_service.Service.create(
binary='neutron-l3-agent',
topic=topics.L3_AGENT,
from neutron.agent.common import config
from neutron.agent.linux import interface
-from neutron.common import legacy
from neutron.common import topics
from neutron.openstack.common.rpc import service as rpc_service
from neutron.openstack.common import service
cfg.CONF(project='neutron')
config.setup_logging(cfg.CONF)
- legacy.modernize_quantum_config(cfg.CONF)
mgr = manager.LbaasAgentManager(cfg.CONF)
svc = LbaasAgentService(
+++ /dev/null
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2013 New Dream Network, LLC (DreamHost)
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# @author Mark McClain (DreamHost)
-
-import mock
-from oslo.config import cfg
-
-from neutron.common import legacy
-from neutron.tests import base
-
-
-class TestLegacyScrubPath(base.BaseTestCase):
- def test_neutron_path(self):
- self.assertEqual(
- 'neutron.foo.NeutronPlugin',
- legacy.scrub_class_path('neutron.foo.NeutronPlugin')
- )
-
- def test_quantum_path(self):
- with mock.patch.object(legacy, 'LOG') as log:
- self.assertEqual(
- 'neutron.foo.NeutronPlugin',
- legacy.scrub_class_path('quantum.foo.QuantumPlugin')
- )
-
- log.assert_has_calls([mock.call.warn(mock.ANY, mock.ANY)])
-
- def test_third_party_path(self):
- self.assertEqual(
- 'third.party.quantum.QuantumPlugin',
- legacy.scrub_class_path('third.party.quantum.QuantumPlugin')
- )
-
-
-class TestLegacyConfigOverride(base.BaseTestCase):
- def setUp(self):
- super(TestLegacyConfigOverride, self).setUp()
- self.cfg = cfg.ConfigOpts()
- self.cfg.register_cli_opts([cfg.StrOpt('foo'), cfg.ListOpt('thelist')])
- self.cfg.register_cli_opts([cfg.StrOpt('baz')], group='bar')
-
- def test_override_config_simple_key(self):
- self.cfg(args=['--foo=quantum'])
- legacy.override_config(self.cfg, ['foo'])
- self.assertEqual(self.cfg.foo, 'neutron')
-
- def test_override_config_simple_key_unchanged(self):
- self.cfg(args=['--foo=something.else'])
- legacy.override_config(self.cfg, ['foo'])
- self.assertEqual(self.cfg.foo, 'something.else')
-
- def test_override_config_missing_key(self):
- self.cfg(args=[])
- legacy.override_config(self.cfg, ['foo'])
- self.assertIsNone(self.cfg.foo)
-
- def test_override_config_group_key(self):
- self.cfg(args=['--bar-baz=quantum'])
- legacy.override_config(self.cfg, [('bar', 'baz', 'mod')])
- self.assertEqual(self.cfg.bar.baz, 'neutron')
-
- def test_override_config_list_value(self):
- self.cfg(args=['--thelist=quantum,neutron,quantum.Quantum'])
- legacy.override_config(self.cfg, ['thelist'])
- self.assertEqual(
- self.cfg.thelist,
- ['neutron', 'neutron', 'neutron.Neutron']
- )
+++ /dev/null
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2013 New Dream Network, LLC (DreamHost)
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# @author Mark McClain (DreamHost)
+++ /dev/null
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2013 New Dream Network, LLC (DreamHost)
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# @author Mark McClain (DreamHost)
-
-import sys
-import warnings
-
-from neutron import api
-from neutron.api import extensions
-from neutron.api import v2
-
-
-warnings.warn(
- _('You are using old configuration values for the api-paste config. '
- 'Please update for Neutron.')
-)
-sys.modules['quantum.api.extensions'] = extensions
-sys.modules['quantum.api.v2'] = v2
-# The following assigment must be performed at the end of the module.
-# Otherwise local variables will be overwritten.
-sys.modules['quantum.api'] = api
+++ /dev/null
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2013 New Dream Network, LLC (DreamHost)
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# @author Mark McClain (DreamHost)
-
-import warnings
-
-from neutron import auth
-
-
-warnings.warn(
- _('You are using old configuration values for the api-paste config. '
- 'Please update for Neutron.')
-)
-
-# For compatibility with old configurations
-QuantumKeystoneContext = auth.NeutronKeystoneContext
-pipeline_factory = auth.pipeline_factory
[files]
packages =
neutron
- quantum
data_files =
etc/neutron =
etc/api-paste.ini
etc/neutron/plugins/ryu = etc/neutron/plugins/ryu/ryu.ini
etc/neutron/plugins/vmware = etc/neutron/plugins/vmware/nsx.ini
scripts =
- bin/quantum-rootwrap
bin/neutron-rootwrap
- bin/quantum-rootwrap-xen-dom0
bin/neutron-rootwrap-xen-dom0
[global]
neutron-server = neutron.server:main
neutron-rootwrap = oslo.rootwrap.cmd:main
neutron-usage-audit = neutron.cmd.usage_audit:main
- quantum-check-nvp-config = neutron.plugins.vmware.check_nsx_config:main
- quantum-db-manage = neutron.db.migration.cli:main
neutron-vpn-agent = neutron.services.vpn.agent:main
- quantum-debug = neutron.debug.shell:main
- quantum-dhcp-agent = neutron.agent.dhcp_agent:main
- quantum-hyperv-agent = neutron.plugins.hyperv.agent.hyperv_neutron_agent:main
- quantum-ibm-agent = neutron.plugins.ibm.agent.sdnve_neutron_agent:main
- quantum-l3-agent = neutron.agent.l3_agent:main
- quantum-lbaas-agent = neutron.services.loadbalancer.agent.agent:main
- quantum-linuxbridge-agent = neutron.plugins.linuxbridge.agent.linuxbridge_neutron_agent:main
- quantum-metadata-agent = neutron.agent.metadata.agent:main
- quantum-mlnx-agent = neutron.plugins.mlnx.agent.eswitch_neutron_agent:main
- quantum-nec-agent = neutron.plugins.nec.agent.nec_neutron_agent:main
- quantum-netns-cleanup = neutron.agent.netns_cleanup_util:main
- quantum-ns-metadata-proxy = neutron.agent.metadata.namespace_proxy:main
- quantum-nvsd-agent = neutron.plugins.oneconvergence.agent.nvsd_neutron_agent:main
- quantum-openvswitch-agent = neutron.plugins.openvswitch.agent.ovs_neutron_agent:main
- quantum-ovs-cleanup = neutron.agent.ovs_cleanup_util:main
- quantum-ryu-agent = neutron.plugins.ryu.agent.ryu_neutron_agent:main
- quantum-server = neutron.server:main
- quantum-rootwrap = oslo.rootwrap.cmd:main
- quantum-usage-audit = neutron.cmd.usage_audit:main
neutron-metering-agent = neutron.services.metering.agents.metering_agent:main
neutron-ofagent-agent = ryu.cmd.ofa_neutron_agent:main
neutron.core_plugins =