Rename Quantum to Neutron

This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.

implements blueprint: remove-use-of-quantum

Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
This commit is contained in:
Mark McClain 2013-07-03 19:39:46 -04:00
parent fc52854c1f
commit ee3fe4e836
714 changed files with 4918 additions and 4439 deletions

View File

@ -3,10 +3,15 @@ quantum.egg-info
quantum_tests.sqlite quantum_tests.sqlite
quantum.sqlite quantum.sqlite
*.quantum-venv *.quantum-venv
neutron.egg-info
neutron_tests.sqlite
neutron.sqlite
*.neutron-venv
.venv .venv
dist/ dist/
ChangeLog ChangeLog
*.pid *.pid
*.log *.log
neutron/vcsversion.py
quantum/vcsversion.py quantum/vcsversion.py
.ropeproject .ropeproject

3
.gitignore vendored
View File

@ -8,6 +8,9 @@ dist/
doc/build doc/build
*.DS_Store *.DS_Store
*.pyc *.pyc
neutron.egg-info/
neutron/vcsversion.py
neutron/versioninfo
quantum.egg-info/ quantum.egg-info/
quantum/vcsversion.py quantum/vcsversion.py
quantum/versioninfo quantum/versioninfo

View File

@ -23,7 +23,8 @@ argument-rgx=[a-z_][a-z0-9_]{1,30}$
# and be lowecased with underscores # and be lowecased with underscores
method-rgx=([a-z_][a-z0-9_]{2,50}|setUp|tearDown)$ method-rgx=([a-z_][a-z0-9_]{2,50}|setUp|tearDown)$
# Module names matching quantum-* are ok (files in bin/) # Module names matching neutron-* are ok (files in bin/)
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|(neutron-[a-z0-9_-]+))$
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|(quantum-[a-z0-9_-]+))$ module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|(quantum-[a-z0-9_-]+))$
# Don't require docstrings on tests. # Don't require docstrings on tests.

View File

@ -1,4 +1,4 @@
[DEFAULT] [DEFAULT]
test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 ${PYTHON:-python} -m subunit.run discover -t ./ quantum/tests/unit $LISTOPT $IDOPTION test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 ${PYTHON:-python} -m subunit.run discover -t ./ neutron/tests/unit $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE test_id_option=--load-list $IDFILE
test_list_option=--list test_list_option=--list

View File

@ -1,4 +1,4 @@
Quantum Style Commandments Neutron Style Commandments
========================== ==========================
- Step 1: Read http://www.python.org/dev/peps/pep-0008/ - Step 1: Read http://www.python.org/dev/peps/pep-0008/
@ -35,13 +35,13 @@ Example::
The following imports, The following imports,
from quantum.api import networks from neutron.api import networks
from quantum import wsgi from neutron import wsgi
are considered equivalent for ordering purposes to are considered equivalent for ordering purposes to
import quantum.api.networks import neutron.api.networks
import quantum.wsgi import neutron.wsgi
- Organize your imports according to the following template - Organize your imports according to the following template
@ -52,7 +52,7 @@ Example::
\n \n
{{third-party lib imports in human alphabetical order}} {{third-party lib imports in human alphabetical order}}
\n \n
{{quantum imports in human alphabetical order}} {{neutron imports in human alphabetical order}}
\n \n
\n \n
{{begin your code}} {{begin your code}}
@ -71,13 +71,13 @@ Example::
import testtools import testtools
import webob.exc import webob.exc
import quantum.api.networks import neutron.api.networks
from quantum.api import ports from neutron.api import ports
from quantum.db import models from neutron.db import models
from quantum.extensions import multiport from neutron.extensions import multiport
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
import quantum.manager import neutron.manager
from quantum import service from neutron import service
Docstrings Docstrings
@ -202,8 +202,8 @@ submitted bug fix does have a unit test, be sure to add a new one that fails
without the patch and passes with the patch. without the patch and passes with the patch.
All unittest classes must ultimately inherit from testtools.TestCase. In the All unittest classes must ultimately inherit from testtools.TestCase. In the
Quantum test suite, this should be done by inheriting from Neutron test suite, this should be done by inheriting from
quantum.tests.base.BaseTestCase. neutron.tests.base.BaseTestCase.
All setUp and tearDown methods must upcall using the super() method. All setUp and tearDown methods must upcall using the super() method.
tearDown methods should be avoided and addCleanup calls should be preferred. tearDown methods should be avoided and addCleanup calls should be preferred.

View File

@ -2,11 +2,11 @@ include AUTHORS
include README.rst include README.rst
include ChangeLog include ChangeLog
include LICENSE include LICENSE
include quantum/db/migration/README include neutron/db/migration/README
include quantum/db/migration/alembic.ini include neutron/db/migration/alembic.ini
include quantum/db/migration/alembic_migrations/script.py.mako include neutron/db/migration/alembic_migrations/script.py.mako
include quantum/db/migration/alembic_migrations/versions/README include neutron/db/migration/alembic_migrations/versions/README
recursive-include quantum/locale * recursive-include neutron/locale *
exclude .gitignore exclude .gitignore
exclude .gitreview exclude .gitreview

View File

@ -1,25 +1,25 @@
# -- Welcome! # -- Welcome!
You have come across a cloud computing network fabric controller. It has You have come across a cloud computing network fabric controller. It has
identified itself as "Quantum." It aims to tame your (cloud) networking! identified itself as "Neutron." It aims to tame your (cloud) networking!
# -- External Resources: # -- External Resources:
The homepage for Quantum is: http://launchpad.net/quantum . Use this The homepage for Neutron is: http://launchpad.net/neutron . Use this
site for asking for help, and filing bugs. Code is available on github at site for asking for help, and filing bugs. Code is available on github at
<http://github.com/openstack/quantum>. <http://github.com/openstack/neutron>.
The latest and most in-depth documentation on how to use Quantum is The latest and most in-depth documentation on how to use Neutron is
available at: <http://docs.openstack.org>. This includes: available at: <http://docs.openstack.org>. This includes:
Quantum Administrator Guide Neutron Administrator Guide
http://docs.openstack.org/trunk/openstack-network/admin/content/ http://docs.openstack.org/trunk/openstack-network/admin/content/
Quantum API Reference: Neutron API Reference:
http://docs.openstack.org/api/openstack-network/2.0/content/ http://docs.openstack.org/api/openstack-network/2.0/content/
The start of some developer documentation is available at: The start of some developer documentation is available at:
http://wiki.openstack.org/QuantumDevelopment http://wiki.openstack.org/NeutronDevelopment
For help using or hacking on Quantum, you can send mail to For help using or hacking on Neutron, you can send mail to
<mailto:openstack-dev@lists.openstack.org>. <mailto:openstack-dev@lists.openstack.org>.

12
TESTING
View File

@ -1,11 +1,11 @@
Testing Quantum Testing Neutron
============================================================= =============================================================
Overview Overview
The unit tests are meant to cover as much code as possible and should The unit tests are meant to cover as much code as possible and should
be executed without the service running. They are designed to test be executed without the service running. They are designed to test
the various pieces of the quantum tree to make sure any new changes the various pieces of the neutron tree to make sure any new changes
don't break existing functionality. don't break existing functionality.
Running tests Running tests
@ -30,17 +30,17 @@ Running individual tests
class separating it from the module path with a colon. class separating it from the module path with a colon.
For example, the following would run only the JSONV2TestCase tests from For example, the following would run only the JSONV2TestCase tests from
quantum/tests/unit/test_api_v2.py: neutron/tests/unit/test_api_v2.py:
$ ./run_tests.sh quantum.tests.unit.test_api_v2:JSONV2TestCase $ ./run_tests.sh neutron.tests.unit.test_api_v2:JSONV2TestCase
or or
$ ./tox quantum.tests.unit.test_api_v2:JSONV2TestCase $ ./tox neutron.tests.unit.test_api_v2:JSONV2TestCase
Adding more tests Adding more tests
Quantum has a fast growing code base and there is plenty of areas that Neutron has a fast growing code base and there is plenty of areas that
need to be covered by unit tests. need to be covered by unit tests.
To get a grasp of the areas where unit tests are needed, you can check To get a grasp of the areas where unit tests are needed, you can check

View File

@ -0,0 +1,20 @@
#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2012 OpenStack Foundation.
# 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.
from neutron.agent.linux import dhcp
dhcp.Dnsmasq.lease_update()

133
bin/neutron-rootwrap Executable file
View File

@ -0,0 +1,133 @@
#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2012 OpenStack Foundation.
# 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.
"""Root wrapper for Neutron
Filters which commands neutron is allowed to run as another user.
To use this, you should set the following in neutron.conf and the
various .ini files for the agent plugins:
root_helper=sudo neutron-rootwrap /etc/neutron/rootwrap.conf
You also need to let the neutron user run neutron-rootwrap as root in
/etc/sudoers:
neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap
/etc/neutron/rootwrap.conf *
Filter specs live in /etc/neutron/rootwrap.d/*.filters, or
other locations pointed to by /etc/neutron/rootwrap.conf.
To make allowed commands node-specific, your packaging should only
install apropriate .filters for commands which are needed on each
node.
"""
from __future__ import print_function
import ConfigParser
import logging
import os
import pwd
import signal
import subprocess
import sys
RC_UNAUTHORIZED = 99
RC_NOCOMMAND = 98
RC_BADCONFIG = 97
RC_NOEXECFOUND = 96
def _subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what
# non-Python subprocesses expect.
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
def _exit_error(execname, message, errorcode, log=True):
print("%s: %s" % (execname, message))
if log:
logging.error(message)
sys.exit(errorcode)
if __name__ == '__main__':
# Split arguments, require at least a command
execname = sys.argv.pop(0)
if len(sys.argv) < 2:
_exit_error(execname, "No command specified", RC_NOCOMMAND, log=False)
configfile = sys.argv.pop(0)
userargs = sys.argv[:]
# Add ../ to sys.path to allow running from branch
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(execname),
os.pardir, os.pardir))
if os.path.exists(os.path.join(possible_topdir, "neutron", "__init__.py")):
sys.path.insert(0, possible_topdir)
from neutron.rootwrap import wrapper
# Load configuration
try:
rawconfig = ConfigParser.RawConfigParser()
rawconfig.read(configfile)
config = wrapper.RootwrapConfig(rawconfig)
except ValueError as exc:
msg = "Incorrect value in %s: %s" % (configfile, exc.message)
_exit_error(execname, msg, RC_BADCONFIG, log=False)
except ConfigParser.Error:
_exit_error(execname, "Incorrect configuration file: %s" % configfile,
RC_BADCONFIG, log=False)
if config.use_syslog:
wrapper.setup_syslog(execname,
config.syslog_log_facility,
config.syslog_log_level)
# Execute command if it matches any of the loaded filters
filters = wrapper.load_filters(config.filters_path)
try:
filtermatch = wrapper.match_filter(filters, userargs,
exec_dirs=config.exec_dirs)
if filtermatch:
command = filtermatch.get_command(userargs,
exec_dirs=config.exec_dirs)
if config.use_syslog:
logging.info("(%s > %s) Executing %s (filter match = %s)" % (
os.getlogin(), pwd.getpwuid(os.getuid())[0],
command, filtermatch.name))
obj = subprocess.Popen(command,
stdin=sys.stdin,
stdout=sys.stdout,
stderr=sys.stderr,
preexec_fn=_subprocess_setup,
env=filtermatch.get_environment(userargs))
obj.wait()
sys.exit(obj.returncode)
except wrapper.FilterMatchNotExecutable as exc:
msg = ("Executable not found: %s (filter match = %s)"
% (exc.match.exec_path, exc.match.name))
_exit_error(execname, msg, RC_NOEXECFOUND, log=config.use_syslog)
except wrapper.NoFilterMatched:
msg = ("Unauthorized command: %s (no filter matched)"
% ' '.join(userargs))
_exit_error(execname, msg, RC_UNAUTHORIZED, log=config.use_syslog)

View File

@ -23,7 +23,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.nicira.check_nvp_config import main from neutron.plugins.nicira.check_nvp_config import main
main(sys.argv) main(sys.argv)

View File

@ -20,7 +20,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.db.migration.cli import main from neutron.db.migration.cli import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.debug.shell import main from neutron.debug.shell import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.dhcp_agent import main from neutron.agent.dhcp_agent import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.linux import dhcp from neutron.agent.linux import dhcp
dhcp.Dnsmasq.lease_update() dhcp.Dnsmasq.lease_update()

View File

@ -20,7 +20,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.hyperv.agent.hyperv_quantum_agent import main from neutron.plugins.hyperv.agent.hyperv_neutron_agent import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.l3_agent import main from neutron.agent.l3_agent import main
main() main()

View File

@ -20,7 +20,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.services.loadbalancer.drivers.haproxy.agent import main from neutron.services.loadbalancer.drivers.haproxy.agent import main
main() main()

View File

@ -19,6 +19,6 @@
import os import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.linuxbridge.agent.linuxbridge_quantum_agent import main from neutron.plugins.linuxbridge.agent.linuxbridge_neutron_agent import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.metadata.agent import main from neutron.agent.metadata.agent import main
main() main()

View File

@ -19,7 +19,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.mlnx.agent.eswitch_quantum_agent import main from neutron.plugins.mlnx.agent.eswitch_neutron_agent import main
main() main()

View File

@ -19,6 +19,6 @@
import os import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.nec.agent.nec_quantum_agent import main from neutron.plugins.nec.agent.nec_neutron_agent import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.netns_cleanup_util import main from neutron.agent.netns_cleanup_util import main
main() main()

View File

@ -16,5 +16,5 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.agent.metadata.namespace_proxy import main from neutron.agent.metadata.namespace_proxy import main
main() main()

View File

@ -19,6 +19,6 @@
import os import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.openvswitch.agent.ovs_quantum_agent import main from neutron.plugins.openvswitch.agent.ovs_neutron_agent import main
main() main()

View File

@ -20,7 +20,7 @@ import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.agent.ovs_cleanup_util import main from neutron.agent.ovs_cleanup_util import main
main() main()

View File

@ -16,21 +16,21 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
"""Root wrapper for Quantum """Root wrapper for Neutron
Filters which commands quantum is allowed to run as another user. Filters which commands neutron is allowed to run as another user.
To use this, you should set the following in quantum.conf and the To use this, you should set the following in neutron.conf and the
various .ini files for the agent plugins: various .ini files for the agent plugins:
root_helper=sudo quantum-rootwrap /etc/quantum/rootwrap.conf root_helper=sudo neutron-rootwrap /etc/neutron/rootwrap.conf
You also need to let the quantum user run quantum-rootwrap as root in You also need to let the neutron user run neutron-rootwrap as root in
/etc/sudoers: /etc/sudoers:
quantum ALL = (root) NOPASSWD: /usr/bin/quantum-rootwrap neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap
/etc/quantum/rootwrap.conf * /etc/neutron/rootwrap.conf *
Filter specs live in /etc/quantum/rootwrap.d/*.filters, or Filter specs live in /etc/neutron/rootwrap.d/*.filters, or
other locations pointed to by /etc/quantum/rootwrap.conf. other locations pointed to by /etc/neutron/rootwrap.conf.
To make allowed commands node-specific, your packaging should only To make allowed commands node-specific, your packaging should only
install apropriate .filters for commands which are needed on each install apropriate .filters for commands which are needed on each
node. node.
@ -78,10 +78,10 @@ if __name__ == '__main__':
# Add ../ to sys.path to allow running from branch # Add ../ to sys.path to allow running from branch
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(execname), possible_topdir = os.path.normpath(os.path.join(os.path.abspath(execname),
os.pardir, os.pardir)) os.pardir, os.pardir))
if os.path.exists(os.path.join(possible_topdir, "quantum", "__init__.py")): if os.path.exists(os.path.join(possible_topdir, "neutron", "__init__.py")):
sys.path.insert(0, possible_topdir) sys.path.insert(0, possible_topdir)
from quantum.rootwrap import wrapper from neutron.rootwrap import wrapper
# Load configuration # Load configuration
try: try:

View File

@ -22,19 +22,19 @@ import contextlib
import os import os
import sys import sys
# If ../quantum/__init__.py exists, add ../ to Python search path, so that # If ../neutron/__init__.py exists, add ../ to Python search path, so that
# it will override what happens to be installed in /usr/(local/)lib/python... # it will override what happens to be installed in /usr/(local/)lib/python...
POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
os.pardir, os.pardir,
os.pardir)) os.pardir))
if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'quantum', '__init__.py')): if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'neutron', '__init__.py')):
sys.path.insert(0, POSSIBLE_TOPDIR) sys.path.insert(0, POSSIBLE_TOPDIR)
from oslo.config import cfg from oslo.config import cfg
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.openstack.common import rpc from neutron.openstack.common import rpc
from quantum.openstack.common.rpc import impl_zmq from neutron.openstack.common.rpc import impl_zmq
CONF = cfg.CONF CONF = cfg.CONF
CONF.register_opts(rpc.rpc_opts) CONF.register_opts(rpc.rpc_opts)
@ -42,8 +42,8 @@ CONF.register_opts(impl_zmq.zmq_opts)
def main(): def main():
CONF(sys.argv[1:], project='quantum') CONF(sys.argv[1:], project='neutron')
logging.setup("quantum") logging.setup("neutron")
with contextlib.closing(impl_zmq.ZmqProxy(CONF)) as reactor: with contextlib.closing(impl_zmq.ZmqProxy(CONF)) as reactor:
reactor.consume_in_thread() reactor.consume_in_thread()

View File

@ -19,6 +19,6 @@
import os import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.plugins.ryu.agent.ryu_quantum_agent import main from neutron.plugins.ryu.agent.ryu_neutron_agent import main
main() main()

View File

@ -22,6 +22,6 @@ eventlet.monkey_patch()
import os import os
import sys import sys
sys.path.insert(0, os.getcwd()) sys.path.insert(0, os.getcwd())
from quantum.server import main as server from neutron.server import main as server
server() server()

View File

@ -23,17 +23,17 @@ subnets.
from oslo.config import cfg from oslo.config import cfg
from quantum import context from neutron import context
from quantum import manager from neutron import manager
from quantum.common import config from neutron.common import config
from quantum.openstack.common.notifier import api as notifier_api from neutron.openstack.common.notifier import api as notifier_api
if __name__ == '__main__': if __name__ == '__main__':
cfg.CONF(project='quantum') cfg.CONF(project='neutron')
config.setup_logging(cfg.CONF) config.setup_logging(cfg.CONF)
context = context.get_admin_context() context = context.get_admin_context()
plugin = manager.QuantumManager.get_plugin() plugin = manager.NeutronManager.get_plugin()
for network in plugin.get_networks(context): for network in plugin.get_networks(context):
notifier_api.notify(context, notifier_api.notify(context,
notifier_api.publisher_id('network'), notifier_api.publisher_id('network'),

View File

@ -92,28 +92,28 @@
<sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel> <sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel>
<postProcess> <postProcess>
<!-- Copies the figures to the correct location for webhelp --> <!-- Copies the figures to the correct location for webhelp -->
<copy todir="${basedir}/target/docbkx/webhelp/quantum-api-1.0/figures"> <copy todir="${basedir}/target/docbkx/webhelp/neutron-api-1.0/figures">
<fileset dir="${basedir}/source/docbkx/quantum-api-1.0/figures"> <fileset dir="${basedir}/source/docbkx/neutron-api-1.0/figures">
<include name="**/*.png" /> <include name="**/*.png" />
</fileset> </fileset>
</copy> </copy>
<!-- New stuff --> <!-- New stuff -->
<copy <copy
todir="${basedir}/target/docbkx/webhelp/trunk/developer/quantum-api-1.0"> todir="${basedir}/target/docbkx/webhelp/trunk/developer/neutron-api-1.0">
<fileset <fileset
dir="${basedir}/target/docbkx/webhelp/quantum-api-1.0/quantum-api-guide/"> dir="${basedir}/target/docbkx/webhelp/neutron-api-1.0/neutron-api-guide/">
<include name="**/*" /> <include name="**/*" />
</fileset> </fileset>
</copy> </copy>
<!--Moves PDFs to the needed placement --> <!--Moves PDFs to the needed placement -->
<move failonerror="false" <move failonerror="false"
file="${basedir}/target/docbkx/pdf/quantum-api-1.0/quantum-api-guide.pdf" file="${basedir}/target/docbkx/pdf/neutron-api-1.0/neutron-api-guide.pdf"
tofile="${basedir}/target/docbkx/webhelp/trunk/developer/quantum-api-1.0/quantum-api-guide-trunk.pdf"/> tofile="${basedir}/target/docbkx/webhelp/trunk/developer/neutron-api-1.0/neutron-api-guide-trunk.pdf"/>
<!--Deletes leftover uneeded directories --> <!--Deletes leftover uneeded directories -->
<delete <delete
dir="${basedir}/target/docbkx/webhelp/quantum-api-1.0"/> dir="${basedir}/target/docbkx/webhelp/neutron-api-1.0"/>
</postProcess> </postProcess>
</configuration> </configuration>
</execution> </execution>
@ -123,7 +123,7 @@
<xincludeSupported>true</xincludeSupported> <xincludeSupported>true</xincludeSupported>
<sourceDirectory>source/docbkx</sourceDirectory> <sourceDirectory>source/docbkx</sourceDirectory>
<includes> <includes>
quantum-api-1.0/quantum-api-guide.xml neutron-api-1.0/neutron-api-guide.xml
</includes> </includes>
<profileSecurity>reviewer</profileSecurity> <profileSecurity>reviewer</profileSecurity>
<branding>openstack</branding> <branding>openstack</branding>

View File

@ -34,8 +34,8 @@ import sys
# add these directories to sys.path here. If the directory is relative to the # add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) BASE_DIR = os.path.dirname(os.path.abspath(__file__))
QUANTUM_DIR = os.path.abspath(os.path.join(BASE_DIR, "..", "..")) NEUTRON_DIR = os.path.abspath(os.path.join(BASE_DIR, "..", ".."))
sys.path.insert(0, QUANTUM_DIR) sys.path.insert(0, NEUTRON_DIR)
# -- General configuration --------------------------------------------------- # -- General configuration ---------------------------------------------------
@ -68,7 +68,7 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'Quantum' project = u'Neutron'
copyright = u'2011-present, OpenStack Foundation.' copyright = u'2011-present, OpenStack Foundation.'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
@ -76,10 +76,10 @@ copyright = u'2011-present, OpenStack Foundation.'
# built documents. # built documents.
# #
# Version info # Version info
from quantum.version import version_info as quantum_version from neutron.version import version_info as neutron_version
release = quantum_version.release_string() release = neutron_version.release_string()
# The short X.Y version. # The short X.Y version.
version = quantum_version.version_string() version = neutron_version.version_string()
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
@ -116,7 +116,7 @@ show_authors = True
pygments_style = 'sphinx' pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting. # A list of ignored prefixes for module index sorting.
modindex_common_prefix = ['quantum.'] modindex_common_prefix = ['neutron.']
# -- Options for man page output -------------------------------------------- # -- Options for man page output --------------------------------------------
@ -124,7 +124,7 @@ modindex_common_prefix = ['quantum.']
# List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual' # List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual'
man_pages = [ man_pages = [
('man/quantum-server', 'quantum-server', u'Quantum Server', ('man/neutron-server', 'neutron-server', u'Neutron Server',
[u'OpenStack'], 1) [u'OpenStack'], 1)
] ]
@ -203,7 +203,7 @@ html_last_updated_fmt = os.popen(git_cmd).read()
#html_file_suffix = '' #html_file_suffix = ''
# Output file base name for HTML help builder. # Output file base name for HTML help builder.
htmlhelp_basename = 'quantumdoc' htmlhelp_basename = 'neutrondoc'
# -- Options for LaTeX output ------------------------------------------------ # -- Options for LaTeX output ------------------------------------------------
@ -218,8 +218,8 @@ htmlhelp_basename = 'quantumdoc'
# (source start file, target name, title, author, # (source start file, target name, title, author,
# documentclass [howto/manual]). # documentclass [howto/manual]).
latex_documents = [ latex_documents = [
('index', 'Quantum.tex', u'Quantum Documentation', ('index', 'Neutron.tex', u'Neutron Documentation',
u'Quantum development team', 'manual'), u'Neutron development team', 'manual'),
] ]
# The name of an image file (relative to this directory) to place at the top of # The name of an image file (relative to this directory) to place at the top of

View File

@ -19,7 +19,7 @@ Open Stack Common
================= =================
A number of modules used are from the openstack-common project. A number of modules used are from the openstack-common project.
The imported files are in 'quantum/openstack-common.conf'. The imported files are in 'neutron/openstack-common.conf'.
More information can be found at `OpenStack Common`_. More information can be found at `OpenStack Common`_.
.. _`OpenStack Common`: https://launchpad.net/openstack-common .. _`OpenStack Common`: https://launchpad.net/openstack-common

View File

@ -18,6 +18,6 @@
Developer Guide Developer Guide
=============== ===============
The `Quantum Wiki`_ is a very good place to start. The `Neutron Wiki`_ is a very good place to start.
.. _`Quantum wiki`: http://wiki.openstack.org/Quantum .. _`Neutron wiki`: http://wiki.openstack.org/Neutron

View File

@ -1,7 +1,7 @@
Plugin API Plugin API
========== ==========
.. automodule:: quantum.quantum_plugin_base_v2 .. automodule:: neutron.neutron_plugin_base_v2
.. autoclass:: QuantumPluginBaseV2 .. autoclass:: NeutronPluginBaseV2
:members: :members:

View File

@ -14,27 +14,27 @@
License for the specific language governing permissions and limitations License for the specific language governing permissions and limitations
under the License. under the License.
Welcome to Quantum's developer documentation! Welcome to Neutron's developer documentation!
============================================= =============================================
Quantum is an OpenStack project to provide "network connectivity as a service" Neutron is an OpenStack project to provide "network connectivity as a service"
between interface devices (e.g., vNICs) managed by other Openstack services between interface devices (e.g., vNICs) managed by other Openstack services
(e.g., nova). It implements the `Quantum API Guide`_. (e.g., nova). It implements the `Neutron API Guide`_.
.. _`Quantum API Guide`: http://docs.openstack.org/incubation/openstack-network/developer/quantum-api-1.0/content/ .. _`Neutron API Guide`: http://docs.openstack.org/incubation/openstack-network/developer/quantum-api-1.0/content/
This document describes Quantum for contributors of the project, and assumes This document describes Neutron for contributors of the project, and assumes
that you are already familiar with Quantum from an `end-user perspective`_. that you are already familiar with Neutron from an `end-user perspective`_.
.. _`end-user perspective`: http://docs.openstack.org/trunk/openstack-network/admin/content/index.html .. _`end-user perspective`: http://docs.openstack.org/trunk/openstack-network/admin/content/index.html
This documentation is generated by the Sphinx toolkit and lives in the source This documentation is generated by the Sphinx toolkit and lives in the source
tree. Additional documentation on Quantum and other components of OpenStack tree. Additional documentation on Neutron and other components of OpenStack
can be found on the `OpenStack wiki`_. The `Quantum Development wiki`_ is a very good can be found on the `OpenStack wiki`_. The `Neutron Development wiki`_ is a very good
place to start. place to start.
.. _`OpenStack wiki`: http://wiki.openstack.org .. _`OpenStack wiki`: http://wiki.openstack.org
.. _`Quantum Development wiki`: http://wiki.openstack.org/QuantumDevelopment .. _`Neutron Development wiki`: http://wiki.openstack.org/NeutronDevelopment
Enjoy! Enjoy!
@ -53,4 +53,4 @@ Man Pages
.. toctree:: .. toctree::
man/quantum-server man/neutron-server

View File

@ -1,9 +1,9 @@
============== ==============
quantum-server neutron-server
============== ==============
-------------- --------------
Quantum Server Neutron Server
-------------- --------------
:Author: openstack@lists.launchpad.net :Author: openstack@lists.launchpad.net
@ -16,13 +16,13 @@ Quantum Server
SYNOPSIS SYNOPSIS
======== ========
quantum-server [options] neutron-server [options]
DESCRIPTION DESCRIPTION
=========== ===========
quantum-server provides a webserver that exposes the Quantum API, and neutron-server provides a webserver that exposes the Neutron API, and
passes all webservice calls to the Quantum plugin for processing. passes all webservice calls to the Neutron plugin for processing.
OPTIONS OPTIONS
======= =======
@ -32,12 +32,12 @@ OPTIONS
-v, --verbose Print more verbose output -v, --verbose Print more verbose output
-d, --debug Print debugging output -d, --debug Print debugging output
--config-file=PATH Path to the config file to use, for example, --config-file=PATH Path to the config file to use, for example,
/etc/quantum/quantum.conf. When not specified /etc/neutron/neutron.conf. When not specified
(the default), we generally look at the first argument (the default), we generally look at the first argument
specified to be a config file, and if that is also specified to be a config file, and if that is also
missing, we search standard directories for a config missing, we search standard directories for a config
file. (/etc/quantum/, file. (/etc/neutron/,
/usr/lib/pythonX/site-packages/quantum/) /usr/lib/pythonX/site-packages/neutron/)
Logging Options: Logging Options:
The following configuration options are specific to logging The following configuration options are specific to logging
@ -61,15 +61,15 @@ FILES
======== ========
plugins.ini file contains the plugin information plugins.ini file contains the plugin information
quantum.conf file contains configuration information in the form of python-gflags. neutron.conf file contains configuration information in the form of python-gflags.
SEE ALSO SEE ALSO
======== ========
* `OpenStack Quantum <http://quantum.openstack.org>`__ * `OpenStack Neutron <http://neutron.openstack.org>`__
BUGS BUGS
==== ====
* Quantum is sourced in Launchpad so you can view current bugs at `OpenStack Bugs <https://bugs.launchpad.net/quantum>`__ * Neutron is sourced in Launchpad so you can view current bugs at `OpenStack Bugs <https://bugs.launchpad.net/neutron>`__

View File

@ -1,24 +1,24 @@
[composite:quantum] [composite:neutron]
use = egg:Paste#urlmap use = egg:Paste#urlmap
/: quantumversions /: neutronversions
/v2.0: quantumapi_v2_0 /v2.0: neutronapi_v2_0
[composite:quantumapi_v2_0] [composite:neutronapi_v2_0]
use = call:quantum.auth:pipeline_factory use = call:neutron.auth:pipeline_factory
noauth = extensions quantumapiapp_v2_0 noauth = extensions neutronapiapp_v2_0
keystone = authtoken keystonecontext extensions quantumapiapp_v2_0 keystone = authtoken keystonecontext extensions neutronapiapp_v2_0
[filter:keystonecontext] [filter:keystonecontext]
paste.filter_factory = quantum.auth:QuantumKeystoneContext.factory paste.filter_factory = neutron.auth:NeutronKeystoneContext.factory
[filter:authtoken] [filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
[filter:extensions] [filter:extensions]
paste.filter_factory = quantum.api.extensions:plugin_aware_extension_middleware_factory paste.filter_factory = neutron.api.extensions:plugin_aware_extension_middleware_factory
[app:quantumversions] [app:neutronversions]
paste.app_factory = quantum.api.versions:Versions.factory paste.app_factory = neutron.api.versions:Versions.factory
[app:quantumapiapp_v2_0] [app:neutronapiapp_v2_0]
paste.app_factory = quantum.api.v2.router:APIRouter.factory paste.app_factory = neutron.api.v2.router:APIRouter.factory

View File

@ -2,7 +2,7 @@
# Show debugging output in log (sets DEBUG log level output) # Show debugging output in log (sets DEBUG log level output)
# debug = true # debug = true
# The DHCP agent will resync its state with Quantum to recover from any # The DHCP agent will resync its state with Neutron to recover from any
# transient notification or rpc errors. The interval is number of # transient notification or rpc errors. The interval is number of
# seconds between attempts. # seconds between attempts.
# resync_interval = 5 # resync_interval = 5
@ -11,16 +11,16 @@
# matches you plugin. # matches you plugin.
# OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight) # OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight)
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
# OVS based plugins(Ryu, NEC, NVP, BigSwitch/Floodlight) that use OVS # OVS based plugins(Ryu, NEC, NVP, BigSwitch/Floodlight) that use OVS
# as OpenFlow switch and check port status # as OpenFlow switch and check port status
#ovs_use_veth = True #ovs_use_veth = True
# LinuxBridge # LinuxBridge
#interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver #interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
# The agent can use other DHCP drivers. Dnsmasq is the simplest and requires # The agent can use other DHCP drivers. Dnsmasq is the simplest and requires
# no additional setup of the DHCP server. # no additional setup of the DHCP server.
dhcp_driver = quantum.agent.linux.dhcp.Dnsmasq dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
# Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and # Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and
# iproute2 package that supports namespaces). # iproute2 package that supports namespaces).
@ -35,7 +35,7 @@ dhcp_driver = quantum.agent.linux.dhcp.Dnsmasq
# Allows for serving metadata requests coming from a dedicated metadata # Allows for serving metadata requests coming from a dedicated metadata
# access network whose cidr is 169.254.169.254/16 (or larger prefix), and # access network whose cidr is 169.254.169.254/16 (or larger prefix), and
# is connected to a Quantum router from which the VMs send metadata # is connected to a Neutron router from which the VMs send metadata
# request. In this case DHCP Option 121 will not be injected in VMs, as # request. In this case DHCP Option 121 will not be injected in VMs, as
# they will be able to reach 169.254.169.254 through a router. # they will be able to reach 169.254.169.254 through a router.
# This option requires enable_isolated_metadata = True # This option requires enable_isolated_metadata = True

View File

@ -6,12 +6,12 @@
# matches your plugin. # matches your plugin.
# OVS based plugins (OVS, Ryu, NEC) that supports L3 agent # OVS based plugins (OVS, Ryu, NEC) that supports L3 agent
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
# OVS based plugins(Ryu, NEC) that use OVS # OVS based plugins(Ryu, NEC) that use OVS
# as OpenFlow switch and check port status # as OpenFlow switch and check port status
#ovs_use_veth = True #ovs_use_veth = True
# LinuxBridge # LinuxBridge
#interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver #interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
# Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and # Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and
# iproute2 package that supports namespaces). # iproute2 package that supports namespaces).
@ -30,7 +30,7 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
# Indicates that this L3 agent should also handle routers that do not have # Indicates that this L3 agent should also handle routers that do not have
# an external network gateway configured. This option should be True only # an external network gateway configured. This option should be True only
# for a single agent in a Quantum deployment, and may be False for all agents # for a single agent in a Neutron deployment, and may be False for all agents
# if all routers must have an external network gateway # if all routers must have an external network gateway
# handle_internal_only_routers = True # handle_internal_only_routers = True
@ -38,7 +38,7 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
# empty value for the linux bridge # empty value for the linux bridge
# external_network_bridge = br-ex # external_network_bridge = br-ex
# TCP Port used by Quantum metadata server # TCP Port used by Neutron metadata server
# metadata_port = 9697 # metadata_port = 9697
# Send this many gratuitous ARPs for HA setup. Set it below or equal to 0 # Send this many gratuitous ARPs for HA setup. Set it below or equal to 0
@ -54,4 +54,4 @@ interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
# enable_metadata_proxy, which is true by default, can be set to False # enable_metadata_proxy, which is true by default, can be set to False
# if the Nova metadata server is not available # if the Nova metadata server is not available
# enable_metadata_proxy = True # enable_metadata_proxy = True

View File

@ -2,22 +2,22 @@
# Show debugging output in log (sets DEBUG log level output) # Show debugging output in log (sets DEBUG log level output)
# debug = true # debug = true
# The LBaaS agent will resync its state with Quantum to recover from any # The LBaaS agent will resync its state with Neutron to recover from any
# transient notification or rpc errors. The interval is number of # transient notification or rpc errors. The interval is number of
# seconds between attempts. # seconds between attempts.
# periodic_interval = 10 # periodic_interval = 10
# OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight) # OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight)
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
# OVS based plugins(Ryu, NEC, NVP, BigSwitch/Floodlight) that use OVS # OVS based plugins(Ryu, NEC, NVP, BigSwitch/Floodlight) that use OVS
# as OpenFlow switch and check port status # as OpenFlow switch and check port status
# ovs_use_veth = True # ovs_use_veth = True
# LinuxBridge # LinuxBridge
# interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver # interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
# The agent requires a driver to manage the loadbalancer. HAProxy is the # The agent requires a driver to manage the loadbalancer. HAProxy is the
# opensource version. # opensource version.
#device_driver = quantum.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver #device_driver = neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
# Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and # Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and
# iproute2 package that supports namespaces). # iproute2 package that supports namespaces).

View File

@ -2,7 +2,7 @@
# Show debugging output in log (sets DEBUG log level output) # Show debugging output in log (sets DEBUG log level output)
# debug = True # debug = True
# The Quantum user information for accessing the Quantum API. # The Neutron user information for accessing the Neutron API.
auth_url = http://localhost:35357/v2.0 auth_url = http://localhost:35357/v2.0
auth_region = RegionOne auth_region = RegionOne
admin_tenant_name = %SERVICE_TENANT_NAME% admin_tenant_name = %SERVICE_TENANT_NAME%
@ -18,8 +18,8 @@ admin_password = %SERVICE_PASSWORD%
# TCP Port used by Nova metadata server # TCP Port used by Nova metadata server
# nova_metadata_port = 8775 # nova_metadata_port = 8775
# When proxying metadata requests, Quantum signs the Instance-ID header with a # When proxying metadata requests, Neutron signs the Instance-ID header with a
# shared secret to prevent spoofing. You may select any string for a secret, # shared secret to prevent spoofing. You may select any string for a secret,
# but it must match here and in the configuration used by the Nova Metadata # but it must match here and in the configuration used by the Nova Metadata
# Server. NOTE: Nova uses a different key: quantum_metadata_proxy_shared_secret # Server. NOTE: Nova uses a different key: neutron_metadata_proxy_shared_secret
# metadata_proxy_shared_secret = # metadata_proxy_shared_secret =

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user
@ -14,7 +14,7 @@ dnsmasq: DnsmasqFilter, /sbin/dnsmasq, root
dnsmasq_usr: DnsmasqFilter, /usr/sbin/dnsmasq, root dnsmasq_usr: DnsmasqFilter, /usr/sbin/dnsmasq, root
# dhcp-agent uses kill as well, that's handled by the generic KillFilter # dhcp-agent uses kill as well, that's handled by the generic KillFilter
# it looks like these are the only signals needed, per # it looks like these are the only signals needed, per
# quantum/agent/linux/dhcp.py # neutron/agent/linux/dhcp.py
kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP kill_dnsmasq: KillFilter, root, /sbin/dnsmasq, -9, -HUP
kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP kill_dnsmasq_usr: KillFilter, root, /usr/sbin/dnsmasq, -9, -HUP
@ -24,10 +24,12 @@ ovs-vsctl: CommandFilter, ovs-vsctl, root
ivs-ctl: CommandFilter, ivs-ctl, root ivs-ctl: CommandFilter, ivs-ctl, root
# metadata proxy # metadata proxy
metadata_proxy: CommandFilter, quantum-ns-metadata-proxy, root metadata_proxy: CommandFilter, neutron-ns-metadata-proxy, root
metadata_proxy_quantum: CommandFilter, quantum-ns-metadata-proxy, root
# If installed from source (say, by devstack), the prefix will be # If installed from source (say, by devstack), the prefix will be
# /usr/local instead of /usr/bin. # /usr/local instead of /usr/bin.
metadata_proxy_local: CommandFilter, /usr/local/bin/quantum-ns-metadata-proxy, root metadata_proxy_local: CommandFilter, /usr/local/bin/neutron-ns-metadata-proxy, root
metadata_proxy_local_quantum: CommandFilter, /usr/local/bin/quantum-ns-metadata-proxy, root
# RHEL invocation of the metadata proxy will report /usr/bin/python # RHEL invocation of the metadata proxy will report /usr/bin/python
kill_metadata: KillFilter, root, /usr/bin/python, -9 kill_metadata: KillFilter, root, /usr/bin/python, -9
kill_metadata7: KillFilter, root, /usr/bin/python2.7, -9 kill_metadata7: KillFilter, root, /usr/bin/python2.7, -9

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user
@ -8,14 +8,14 @@
[Filters] [Filters]
# quantum/agent/linux/iptables_manager.py # neutron/agent/linux/iptables_manager.py
# "iptables-save", ... # "iptables-save", ...
iptables-save: CommandFilter, iptables-save, root iptables-save: CommandFilter, iptables-save, root
iptables-restore: CommandFilter, iptables-restore, root iptables-restore: CommandFilter, iptables-restore, root
ip6tables-save: CommandFilter, ip6tables-save, root ip6tables-save: CommandFilter, ip6tables-save, root
ip6tables-restore: CommandFilter, ip6tables-restore, root ip6tables-restore: CommandFilter, ip6tables-restore, root
# quantum/agent/linux/iptables_manager.py # neutron/agent/linux/iptables_manager.py
# "iptables", "-A", ... # "iptables", "-A", ...
iptables: CommandFilter, iptables, root iptables: CommandFilter, iptables, root
ip6tables: CommandFilter, ip6tables, root ip6tables: CommandFilter, ip6tables, root

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user
@ -16,10 +16,12 @@ sysctl: CommandFilter, sysctl, root
route: CommandFilter, route, root route: CommandFilter, route, root
# metadata proxy # metadata proxy
metadata_proxy: CommandFilter, quantum-ns-metadata-proxy, root metadata_proxy: CommandFilter, neutron-ns-metadata-proxy, root
metadata_proxy_quantum: CommandFilter, quantum-ns-metadata-proxy, root
# If installed from source (say, by devstack), the prefix will be # If installed from source (say, by devstack), the prefix will be
# /usr/local instead of /usr/bin. # /usr/local instead of /usr/bin.
metadata_proxy_local: CommandFilter, /usr/local/bin/quantum-ns-metadata-proxy, root metadata_proxy_local: CommandFilter, /usr/local/bin/neuton-ns-metadata-proxy, root
metadata_proxy_local_quantum: CommandFilter, /usr/local/bin/quantum-ns-metadata-proxy, root
# RHEL invocation of the metadata proxy will report /usr/bin/python # RHEL invocation of the metadata proxy will report /usr/bin/python
kill_metadata: KillFilter, root, /usr/bin/python, -9 kill_metadata: KillFilter, root, /usr/bin/python, -9
kill_metadata7: KillFilter, root, /usr/bin/python2.7, -9 kill_metadata7: KillFilter, root, /usr/bin/python2.7, -9

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neuton-rootwrap command filters for nodes on which neuton is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neuton-rootwrap command filters for nodes on which neuton is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neuton-rootwrap command filters for nodes on which neuton is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user
@ -8,5 +8,5 @@
[Filters] [Filters]
# nec_quantum_agent # nec_neutron_agent
ovs-vsctl: CommandFilter, ovs-vsctl, root ovs-vsctl: CommandFilter, ovs-vsctl, root

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user

View File

@ -1,4 +1,4 @@
# quantum-rootwrap command filters for nodes on which quantum is # neutron-rootwrap command filters for nodes on which neutron is
# expected to control network # expected to control network
# #
# This file should be owned by (and only-writeable by) the root user # This file should be owned by (and only-writeable by) the root user
@ -12,10 +12,10 @@
# unclear whether both variants are necessary, but I'm transliterating # unclear whether both variants are necessary, but I'm transliterating
# from the old mechanism # from the old mechanism
# quantum/plugins/ryu/agent/ryu_quantum_agent.py: # neutron/plugins/ryu/agent/ryu_neutron_agent.py:
# "ovs-vsctl", "--timeout=2", ... # "ovs-vsctl", "--timeout=2", ...
ovs-vsctl: CommandFilter, ovs-vsctl, root ovs-vsctl: CommandFilter, ovs-vsctl, root
# quantum/plugins/ryu/agent/ryu_quantum_agent.py: # neutron/plugins/ryu/agent/ryu_neutron_agent.py:
# "xe", "vif-param-get", ... # "xe", "vif-param-get", ...
xe: CommandFilter, xe, root xe: CommandFilter, xe, root

1
etc/quantum Symbolic link
View File

@ -0,0 +1 @@
neutron

21
neutron/__init__.py Normal file
View File

@ -0,0 +1,21 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2011 OpenStack Foundation
# 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.
import gettext
gettext.install('neutron', unicode=1)

View File

@ -19,8 +19,8 @@ import os
from oslo.config import cfg from oslo.config import cfg
from quantum.common import config from neutron.common import config
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -87,7 +87,7 @@ def get_root_helper(conf):
def setup_conf(): def setup_conf():
bind_opts = [ bind_opts = [
cfg.StrOpt('state_path', cfg.StrOpt('state_path',
default='/var/lib/quantum', default='/var/lib/neutron',
help=_('Top-level directory for maintaining dhcp state')), help=_('Top-level directory for maintaining dhcp state')),
] ]

View File

@ -23,26 +23,27 @@ import eventlet
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.common import config from neutron.agent.common import config
from quantum.agent.linux import dhcp from neutron.agent.linux import dhcp
from quantum.agent.linux import external_process from neutron.agent.linux import external_process
from quantum.agent.linux import interface from neutron.agent.linux import interface
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent import rpc as agent_rpc from neutron.agent import rpc as agent_rpc
from quantum.common import constants from neutron.common import constants
from quantum.common import exceptions from neutron.common import exceptions
from quantum.common import topics from neutron.common import legacy
from quantum.common import utils from neutron.common import topics
from quantum import context from neutron.common import utils
from quantum import manager from neutron import context
from quantum.openstack.common import importutils from neutron import manager
from quantum.openstack.common import jsonutils from neutron.openstack.common import importutils
from quantum.openstack.common import log as logging from neutron.openstack.common import jsonutils
from quantum.openstack.common import loopingcall from neutron.openstack.common import log as logging
from quantum.openstack.common.rpc import proxy from neutron.openstack.common import loopingcall
from quantum.openstack.common import service from neutron.openstack.common.rpc import proxy
from quantum.openstack.common import uuidutils from neutron.openstack.common import service
from quantum import service as quantum_service from neutron.openstack.common import uuidutils
from neutron import service as neutron_service
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
NS_PREFIX = 'qdhcp-' NS_PREFIX = 'qdhcp-'
@ -56,7 +57,7 @@ class DhcpAgent(manager.Manager):
cfg.IntOpt('resync_interval', default=5, cfg.IntOpt('resync_interval', default=5,
help=_("Interval to resync.")), help=_("Interval to resync.")),
cfg.StrOpt('dhcp_driver', cfg.StrOpt('dhcp_driver',
default='quantum.agent.linux.dhcp.Dnsmasq', default='neutron.agent.linux.dhcp.Dnsmasq',
help=_("The driver used to manage the DHCP server.")), help=_("The driver used to manage the DHCP server.")),
cfg.BoolOpt('use_namespaces', default=True, cfg.BoolOpt('use_namespaces', default=True,
help=_("Allow overlapping IP.")), help=_("Allow overlapping IP.")),
@ -144,7 +145,7 @@ class DhcpAgent(manager.Manager):
LOG.exception(_('Unable to update lease')) LOG.exception(_('Unable to update lease'))
def sync_state(self): def sync_state(self):
"""Sync the local DHCP state with Quantum.""" """Sync the local DHCP state with Neutron."""
LOG.info(_('Synchronizing state')) LOG.info(_('Synchronizing state'))
known_networks = set(self.cache.get_network_ids()) known_networks = set(self.cache.get_network_ids())
@ -296,7 +297,7 @@ class DhcpAgent(manager.Manager):
# The proxy might work for either a single network # The proxy might work for either a single network
# or all the networks connected via a router # or all the networks connected via a router
# to the one passed as a parameter # to the one passed as a parameter
quantum_lookup_param = '--network_id=%s' % network.id neutron_lookup_param = '--network_id=%s' % network.id
meta_cidr = netaddr.IPNetwork(METADATA_DEFAULT_IP) meta_cidr = netaddr.IPNetwork(METADATA_DEFAULT_IP)
has_metadata_subnet = any(netaddr.IPNetwork(s.cidr) in meta_cidr has_metadata_subnet = any(netaddr.IPNetwork(s.cidr) in meta_cidr
for s in network.subnets) for s in network.subnets)
@ -314,17 +315,17 @@ class DhcpAgent(manager.Manager):
{'port_num': len(router_ports), {'port_num': len(router_ports),
'port_id': router_ports[0].id, 'port_id': router_ports[0].id,
'router_id': router_ports[0].device_id}) 'router_id': router_ports[0].device_id})
quantum_lookup_param = ('--router_id=%s' % neutron_lookup_param = ('--router_id=%s' %
router_ports[0].device_id) router_ports[0].device_id)
def callback(pid_file): def callback(pid_file):
proxy_cmd = ['quantum-ns-metadata-proxy', proxy_cmd = ['neutron-ns-metadata-proxy',
'--pid_file=%s' % pid_file, '--pid_file=%s' % pid_file,
quantum_lookup_param, neutron_lookup_param,
'--state_path=%s' % self.conf.state_path, '--state_path=%s' % self.conf.state_path,
'--metadata_port=%d' % METADATA_PORT] '--metadata_port=%d' % METADATA_PORT]
proxy_cmd.extend(config.get_log_args( proxy_cmd.extend(config.get_log_args(
cfg.CONF, 'quantum-ns-metadata-proxy-%s.log' % network.id)) cfg.CONF, 'neutron-ns-metadata-proxy-%s.log' % network.id))
return proxy_cmd return proxy_cmd
pm = external_process.ProcessManager( pm = external_process.ProcessManager(
@ -506,8 +507,9 @@ class DeviceManager(object):
if not conf.interface_driver: if not conf.interface_driver:
raise SystemExit(_('You must specify an interface driver')) raise SystemExit(_('You must specify an interface driver'))
try: try:
self.driver = importutils.import_object(conf.interface_driver, self.driver = importutils.import_object(
conf) conf.interface_driver, conf
)
except Exception: except Exception:
msg = _("Error importing interface driver " msg = _("Error importing interface driver "
"'%s'") % conf.interface_driver "'%s'") % conf.interface_driver
@ -673,7 +675,7 @@ class DhcpLeaseRelay(object):
"""UNIX domain socket server for processing lease updates. """UNIX domain socket server for processing lease updates.
Network namespace isolation prevents the DHCP process from notifying Network namespace isolation prevents the DHCP process from notifying
Quantum directly. This class works around the limitation by using the Neutron directly. This class works around the limitation by using the
domain socket to pass the information. This class handles message. domain socket to pass the information. This class handles message.
receiving and then calls the callback method. receiving and then calls the callback method.
""" """
@ -735,7 +737,7 @@ class DhcpAgentWithStateReport(DhcpAgent):
super(DhcpAgentWithStateReport, self).__init__(host=host) super(DhcpAgentWithStateReport, self).__init__(host=host)
self.state_rpc = agent_rpc.PluginReportStateAPI(topics.PLUGIN) self.state_rpc = agent_rpc.PluginReportStateAPI(topics.PLUGIN)
self.agent_state = { self.agent_state = {
'binary': 'quantum-dhcp-agent', 'binary': 'neutron-dhcp-agent',
'host': host, 'host': host,
'topic': topics.DHCP_AGENT, 'topic': topics.DHCP_AGENT,
'configurations': { 'configurations': {
@ -760,7 +762,7 @@ class DhcpAgentWithStateReport(DhcpAgent):
self.use_call = False self.use_call = False
except AttributeError: except AttributeError:
# This means the server does not support report_state # This means the server does not support report_state
LOG.warn(_("Quantum server does not support state report." LOG.warn(_("Neutron server does not support state report."
" State report for this agent will be disabled.")) " State report for this agent will be disabled."))
self.heartbeat.stop() self.heartbeat.stop()
self.run() self.run()
@ -793,11 +795,12 @@ def register_options():
def main(): def main():
eventlet.monkey_patch() eventlet.monkey_patch()
register_options() register_options()
cfg.CONF(project='quantum') cfg.CONF(project='neutron')
config.setup_logging(cfg.CONF) config.setup_logging(cfg.CONF)
server = quantum_service.Service.create( legacy.modernize_quantum_config(cfg.CONF)
binary='quantum-dhcp-agent', server = neutron_service.Service.create(
binary='neutron-dhcp-agent',
topic=topics.DHCP_AGENT, topic=topics.DHCP_AGENT,
report_interval=cfg.CONF.AGENT.report_interval, report_interval=cfg.CONF.AGENT.report_interval,
manager='quantum.agent.dhcp_agent.DhcpAgentWithStateReport') manager='neutron.agent.dhcp_agent.DhcpAgentWithStateReport')
service.launch(server).wait() service.launch(server).wait()

View File

@ -22,26 +22,27 @@ from eventlet import semaphore
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.common import config from neutron.agent.common import config
from quantum.agent.linux import external_process from neutron.agent.linux import external_process
from quantum.agent.linux import interface from neutron.agent.linux import interface
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import iptables_manager from neutron.agent.linux import iptables_manager
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.agent import rpc as agent_rpc from neutron.agent import rpc as agent_rpc
from quantum.common import constants as l3_constants from neutron.common import constants as l3_constants
from quantum.common import topics from neutron.common import legacy
from quantum.common import utils as common_utils from neutron.common import topics
from quantum import context from neutron.common import utils as common_utils
from quantum import manager from neutron import context
from quantum.openstack.common import importutils from neutron import manager
from quantum.openstack.common import log as logging from neutron.openstack.common import importutils
from quantum.openstack.common import loopingcall from neutron.openstack.common import log as logging
from quantum.openstack.common import periodic_task from neutron.openstack.common import loopingcall
from quantum.openstack.common.rpc import common as rpc_common from neutron.openstack.common import periodic_task
from quantum.openstack.common.rpc import proxy from neutron.openstack.common.rpc import common as rpc_common
from quantum.openstack.common import service from neutron.openstack.common.rpc import proxy
from quantum import service as quantum_service from neutron.openstack.common import service
from neutron import service as neutron_service
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -149,7 +150,7 @@ class L3NATAgent(manager.Manager):
"interface.")), "interface.")),
cfg.IntOpt('metadata_port', cfg.IntOpt('metadata_port',
default=9697, default=9697,
help=_("TCP Port used by Quantum metadata namespace " help=_("TCP Port used by Neutron metadata namespace "
"proxy.")), "proxy.")),
cfg.IntOpt('send_arp_for_ha', cfg.IntOpt('send_arp_for_ha',
default=3, default=3,
@ -183,8 +184,10 @@ class L3NATAgent(manager.Manager):
if not self.conf.interface_driver: if not self.conf.interface_driver:
raise SystemExit(_('An interface driver must be specified')) raise SystemExit(_('An interface driver must be specified'))
try: try:
self.driver = importutils.import_object(self.conf.interface_driver, self.driver = importutils.import_object(
self.conf) self.conf.interface_driver,
self.conf
)
except Exception: except Exception:
msg = _("Error importing interface driver " msg = _("Error importing interface driver "
"'%s'") % self.conf.interface_driver "'%s'") % self.conf.interface_driver
@ -246,7 +249,7 @@ class L3NATAgent(manager.Manager):
if e.exc_type == 'TooManyExternalNetworks': if e.exc_type == 'TooManyExternalNetworks':
msg = _( msg = _(
"The 'gateway_external_network_id' option must be " "The 'gateway_external_network_id' option must be "
"configured for this agent as Quantum has more than " "configured for this agent as Neutron has more than "
"one external network.") "one external network.")
raise Exception(msg) raise Exception(msg)
else: else:
@ -284,13 +287,13 @@ class L3NATAgent(manager.Manager):
def _spawn_metadata_proxy(self, router_info): def _spawn_metadata_proxy(self, router_info):
def callback(pid_file): def callback(pid_file):
proxy_cmd = ['quantum-ns-metadata-proxy', proxy_cmd = ['neutron-ns-metadata-proxy',
'--pid_file=%s' % pid_file, '--pid_file=%s' % pid_file,
'--router_id=%s' % router_info.router_id, '--router_id=%s' % router_info.router_id,
'--state_path=%s' % self.conf.state_path, '--state_path=%s' % self.conf.state_path,
'--metadata_port=%s' % self.conf.metadata_port] '--metadata_port=%s' % self.conf.metadata_port]
proxy_cmd.extend(config.get_log_args( proxy_cmd.extend(config.get_log_args(
cfg.CONF, 'quantum-ns-metadata-proxy-%s.log' % cfg.CONF, 'neutron-ns-metadata-proxy-%s.log' %
router_info.router_id)) router_info.router_id))
return proxy_cmd return proxy_cmd
@ -712,7 +715,7 @@ class L3NATAgentWithStateReport(L3NATAgent):
super(L3NATAgentWithStateReport, self).__init__(host=host, conf=conf) super(L3NATAgentWithStateReport, self).__init__(host=host, conf=conf)
self.state_rpc = agent_rpc.PluginReportStateAPI(topics.PLUGIN) self.state_rpc = agent_rpc.PluginReportStateAPI(topics.PLUGIN)
self.agent_state = { self.agent_state = {
'binary': 'quantum-l3-agent', 'binary': 'neutron-l3-agent',
'host': host, 'host': host,
'topic': topics.L3_AGENT, 'topic': topics.L3_AGENT,
'configurations': { 'configurations': {
@ -758,7 +761,7 @@ class L3NATAgentWithStateReport(L3NATAgent):
self.use_call = False self.use_call = False
except AttributeError: except AttributeError:
# This means the server does not support report_state # This means the server does not support report_state
LOG.warn(_("Quantum server does not support state report." LOG.warn(_("Neutron server does not support state report."
" State report for this agent will be disabled.")) " State report for this agent will be disabled."))
self.heartbeat.stop() self.heartbeat.stop()
return return
@ -779,11 +782,12 @@ def main():
config.register_root_helper(conf) config.register_root_helper(conf)
conf.register_opts(interface.OPTS) conf.register_opts(interface.OPTS)
conf.register_opts(external_process.OPTS) conf.register_opts(external_process.OPTS)
conf(project='quantum') conf(project='neutron')
config.setup_logging(conf) config.setup_logging(conf)
server = quantum_service.Service.create( legacy.modernize_quantum_config(conf)
binary='quantum-l3-agent', server = neutron_service.Service.create(
binary='neutron-l3-agent',
topic=topics.L3_AGENT, topic=topics.L3_AGENT,
report_interval=cfg.CONF.AGENT.report_interval, report_interval=cfg.CONF.AGENT.report_interval,
manager='quantum.agent.l3_agent.L3NATAgentWithStateReport') manager='neutron.agent.l3_agent.L3NATAgentWithStateReport')
service.launch(server).wait() service.launch(server).wait()

View File

@ -21,8 +21,8 @@ import fcntl
import os import os
import sys import sys
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -26,11 +26,11 @@ import sys
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.openstack.common import jsonutils from neutron.openstack.common import jsonutils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.openstack.common import uuidutils from neutron.openstack.common import uuidutils
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -209,7 +209,7 @@ class DhcpLocalProcess(DhcpBase):
class Dnsmasq(DhcpLocalProcess): class Dnsmasq(DhcpLocalProcess):
# The ports that need to be opened when security policies are active # The ports that need to be opened when security policies are active
# on the Quantum port used for DHCP. These are provided as a convenience # on the Neutron port used for DHCP. These are provided as a convenience
# for users of this class. # for users of this class.
PORTS = {IPV4: [(UDP, DNS_PORT), (TCP, DNS_PORT), (UDP, DHCPV4_PORT)], PORTS = {IPV4: [(UDP, DNS_PORT), (TCP, DNS_PORT), (UDP, DHCPV4_PORT)],
IPV6: [(UDP, DNS_PORT), (TCP, DNS_PORT), (UDP, DHCPV6_PORT)], IPV6: [(UDP, DNS_PORT), (TCP, DNS_PORT), (UDP, DHCPV6_PORT)],
@ -217,8 +217,8 @@ class Dnsmasq(DhcpLocalProcess):
_TAG_PREFIX = 'tag%d' _TAG_PREFIX = 'tag%d'
QUANTUM_NETWORK_ID_KEY = 'QUANTUM_NETWORK_ID' NEUTRON_NETWORK_ID_KEY = 'NEUTRON_NETWORK_ID'
QUANTUM_RELAY_SOCKET_PATH_KEY = 'QUANTUM_RELAY_SOCKET_PATH' NEUTRON_RELAY_SOCKET_PATH_KEY = 'NEUTRON_RELAY_SOCKET_PATH'
MINIMUM_VERSION = 2.59 MINIMUM_VERSION = 2.59
@classmethod @classmethod
@ -259,8 +259,8 @@ class Dnsmasq(DhcpLocalProcess):
def spawn_process(self): def spawn_process(self):
"""Spawns a Dnsmasq process for the network.""" """Spawns a Dnsmasq process for the network."""
env = { env = {
self.QUANTUM_NETWORK_ID_KEY: self.network.id, self.NEUTRON_NETWORK_ID_KEY: self.network.id,
self.QUANTUM_RELAY_SOCKET_PATH_KEY: self.NEUTRON_RELAY_SOCKET_PATH_KEY:
self.conf.dhcp_lease_relay_socket self.conf.dhcp_lease_relay_socket
} }
@ -426,7 +426,7 @@ class Dnsmasq(DhcpLocalProcess):
def _lease_relay_script_path(self): def _lease_relay_script_path(self):
return os.path.join(os.path.dirname(sys.argv[0]), return os.path.join(os.path.dirname(sys.argv[0]),
'quantum-dhcp-agent-dnsmasq-lease-update') 'neutron-dhcp-agent-dnsmasq-lease-update')
def _format_option(self, index, option_name, *args): def _format_option(self, index, option_name, *args):
if self.version >= self.MINIMUM_VERSION: if self.version >= self.MINIMUM_VERSION:
@ -438,8 +438,8 @@ class Dnsmasq(DhcpLocalProcess):
@classmethod @classmethod
def lease_update(cls): def lease_update(cls):
network_id = os.environ.get(cls.QUANTUM_NETWORK_ID_KEY) network_id = os.environ.get(cls.NEUTRON_NETWORK_ID_KEY)
dhcp_relay_socket = os.environ.get(cls.QUANTUM_RELAY_SOCKET_PATH_KEY) dhcp_relay_socket = os.environ.get(cls.NEUTRON_RELAY_SOCKET_PATH_KEY)
action = sys.argv[1] action = sys.argv[1]
if action not in ('add', 'del', 'old'): if action not in ('add', 'del', 'old'):

View File

@ -20,9 +20,9 @@ import os
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -36,7 +36,7 @@ cfg.CONF.register_opts(OPTS)
class ProcessManager(object): class ProcessManager(object):
"""An external process manager for Quantum spawned processes. """An external process manager for Neutron spawned processes.
Note: The manager expects uuid to be in cmdline. Note: The manager expects uuid to be in cmdline.
""" """

View File

@ -20,14 +20,14 @@ import abc
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.common import config from neutron.agent.common import config
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import ovs_lib from neutron.agent.linux import ovs_lib
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.common import exceptions from neutron.common import exceptions
from quantum.extensions.flavor import (FLAVOR_NETWORK) from neutron.extensions.flavor import (FLAVOR_NETWORK)
from quantum.openstack.common import importutils from neutron.openstack.common import importutils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -329,8 +329,8 @@ class BridgeInterfaceDriver(LinuxInterfaceDriver):
class MetaInterfaceDriver(LinuxInterfaceDriver): class MetaInterfaceDriver(LinuxInterfaceDriver):
def __init__(self, conf): def __init__(self, conf):
super(MetaInterfaceDriver, self).__init__(conf) super(MetaInterfaceDriver, self).__init__(conf)
from quantumclient.v2_0 import client from neutronclient.v2_0 import client
self.quantum = client.Client( self.neutron = client.Client(
username=self.conf.admin_user, username=self.conf.admin_user,
password=self.conf.admin_password, password=self.conf.admin_password,
tenant_name=self.conf.admin_tenant_name, tenant_name=self.conf.admin_tenant_name,
@ -346,7 +346,7 @@ class MetaInterfaceDriver(LinuxInterfaceDriver):
self.flavor_driver_map[flavor] = self._load_driver(driver_name) self.flavor_driver_map[flavor] = self._load_driver(driver_name)
def _get_flavor_by_network_id(self, network_id): def _get_flavor_by_network_id(self, network_id):
network = self.quantum.show_network(network_id) network = self.neutron.show_network(network_id)
return network['network'][FLAVOR_NETWORK] return network['network'][FLAVOR_NETWORK]
def _get_driver_by_network_id(self, network_id): def _get_driver_by_network_id(self, network_id):

View File

@ -17,8 +17,8 @@
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.common import exceptions from neutron.common import exceptions
OPTS = [ OPTS = [

View File

@ -18,10 +18,10 @@
import netaddr import netaddr
from oslo.config import cfg from oslo.config import cfg
from quantum.agent import firewall from neutron.agent import firewall
from quantum.agent.linux import iptables_manager from neutron.agent.linux import iptables_manager
from quantum.common import constants from neutron.common import constants
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -24,9 +24,9 @@
import inspect import inspect
import os import os
from quantum.agent.linux import utils as linux_utils from neutron.agent.linux import utils as linux_utils
from quantum.common import utils from neutron.common import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
# NOTE(vish): Iptables supports chain names of up to 28 characters, and we # NOTE(vish): Iptables supports chain names of up to 28 characters, and we
@ -207,7 +207,7 @@ class IptablesManager(object):
A number of chains are set up to begin with. A number of chains are set up to begin with.
First, quantum-filter-top. It's added at the top of FORWARD and OUTPUT. Its First, neutron-filter-top. It's added at the top of FORWARD and OUTPUT. Its
name is not wrapped, so it's shared between the various nova workers. It's name is not wrapped, so it's shared between the various nova workers. It's
intended for rules that need to live at the top of the FORWARD and OUTPUT intended for rules that need to live at the top of the FORWARD and OUTPUT
chains. It's in both the ipv4 and ipv6 set of tables. chains. It's in both the ipv4 and ipv6 set of tables.
@ -215,7 +215,7 @@ class IptablesManager(object):
For ipv4 and ipv6, the built-in INPUT, OUTPUT, and FORWARD filter chains For ipv4 and ipv6, the built-in INPUT, OUTPUT, and FORWARD filter chains
are wrapped, meaning that the "real" INPUT chain has a rule that jumps to are wrapped, meaning that the "real" INPUT chain has a rule that jumps to
the wrapped INPUT chain, etc. Additionally, there's a wrapped chain named the wrapped INPUT chain, etc. Additionally, there's a wrapped chain named
"local" which is jumped to from quantum-filter-top. "local" which is jumped to from neutron-filter-top.
For ipv4, the built-in PREROUTING, OUTPUT, and POSTROUTING nat chains are For ipv4, the built-in PREROUTING, OUTPUT, and POSTROUTING nat chains are
wrapped in the same was as the built-in filter chains. Additionally, wrapped in the same was as the built-in filter chains. Additionally,
@ -238,18 +238,18 @@ class IptablesManager(object):
self.ipv4 = {'filter': IptablesTable()} self.ipv4 = {'filter': IptablesTable()}
self.ipv6 = {'filter': IptablesTable()} self.ipv6 = {'filter': IptablesTable()}
# Add a quantum-filter-top chain. It's intended to be shared # Add a neutron-filter-top chain. It's intended to be shared
# among the various nova components. It sits at the very top # among the various nova components. It sits at the very top
# of FORWARD and OUTPUT. # of FORWARD and OUTPUT.
for tables in [self.ipv4, self.ipv6]: for tables in [self.ipv4, self.ipv6]:
tables['filter'].add_chain('quantum-filter-top', wrap=False) tables['filter'].add_chain('neutron-filter-top', wrap=False)
tables['filter'].add_rule('FORWARD', '-j quantum-filter-top', tables['filter'].add_rule('FORWARD', '-j neutron-filter-top',
wrap=False, top=True) wrap=False, top=True)
tables['filter'].add_rule('OUTPUT', '-j quantum-filter-top', tables['filter'].add_rule('OUTPUT', '-j neutron-filter-top',
wrap=False, top=True) wrap=False, top=True)
tables['filter'].add_chain('local') tables['filter'].add_chain('local')
tables['filter'].add_rule('quantum-filter-top', '-j $local', tables['filter'].add_rule('neutron-filter-top', '-j $local',
wrap=False) wrap=False)
# Wrap the built-in chains # Wrap the built-in chains
@ -274,19 +274,19 @@ class IptablesManager(object):
(chain), wrap=False) (chain), wrap=False)
if not state_less: if not state_less:
# Add a quantum-postrouting-bottom chain. It's intended to be # Add a neutron-postrouting-bottom chain. It's intended to be
# shared among the various nova components. We set it as the last # shared among the various nova components. We set it as the last
# chain of POSTROUTING chain. # chain of POSTROUTING chain.
self.ipv4['nat'].add_chain('quantum-postrouting-bottom', self.ipv4['nat'].add_chain('neutron-postrouting-bottom',
wrap=False) wrap=False)
self.ipv4['nat'].add_rule('POSTROUTING', self.ipv4['nat'].add_rule('POSTROUTING',
'-j quantum-postrouting-bottom', '-j neutron-postrouting-bottom',
wrap=False) wrap=False)
# We add a snat chain to the shared quantum-postrouting-bottom # We add a snat chain to the shared neutron-postrouting-bottom
# chain so that it's applied last. # chain so that it's applied last.
self.ipv4['nat'].add_chain('snat') self.ipv4['nat'].add_chain('snat')
self.ipv4['nat'].add_rule('quantum-postrouting-bottom', self.ipv4['nat'].add_rule('neutron-postrouting-bottom',
'-j $snat', wrap=False) '-j $snat', wrap=False)
# And then we add a float-snat chain and jump to first thing in # And then we add a float-snat chain and jump to first thing in

View File

@ -20,11 +20,11 @@
import re import re
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import utils from neutron.agent.linux import utils
from quantum.openstack.common import jsonutils from neutron.openstack.common import jsonutils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.plugins.openvswitch.common import constants from neutron.plugins.openvswitch.common import constants
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -26,8 +26,8 @@ import tempfile
from eventlet.green import subprocess from eventlet.green import subprocess
from quantum.common import utils from neutron.common import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -24,14 +24,14 @@ import urlparse
import eventlet import eventlet
import httplib2 import httplib2
from neutronclient.v2_0 import client
from oslo.config import cfg from oslo.config import cfg
from quantumclient.v2_0 import client
import webob import webob
from quantum.common import config from neutron.common import config
from quantum.common import utils from neutron.common import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum import wsgi from neutron import wsgi
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -72,7 +72,7 @@ class MetadataProxyHandler(object):
self.conf = conf self.conf = conf
self.auth_info = {} self.auth_info = {}
def _get_quantum_client(self): def _get_neutron_client(self):
qclient = client.Client( qclient = client.Client(
username=self.conf.admin_user, username=self.conf.admin_user,
password=self.conf.admin_password, password=self.conf.admin_password,
@ -104,11 +104,11 @@ class MetadataProxyHandler(object):
return webob.exc.HTTPInternalServerError(explanation=unicode(msg)) return webob.exc.HTTPInternalServerError(explanation=unicode(msg))
def _get_instance_id(self, req): def _get_instance_id(self, req):
qclient = self._get_quantum_client() qclient = self._get_neutron_client()
remote_address = req.headers.get('X-Forwarded-For') remote_address = req.headers.get('X-Forwarded-For')
network_id = req.headers.get('X-Quantum-Network-ID') network_id = req.headers.get('X-Neutron-Network-ID')
router_id = req.headers.get('X-Quantum-Router-ID') router_id = req.headers.get('X-Neutron-Router-ID')
if network_id: if network_id:
networks = [network_id] networks = [network_id]
@ -223,7 +223,7 @@ class UnixDomainMetadataProxy(object):
os.makedirs(dirname, 0o755) os.makedirs(dirname, 0o755)
def run(self): def run(self):
server = UnixDomainWSGIServer('quantum-metadata-agent') server = UnixDomainWSGIServer('neutron-metadata-agent')
server.start(MetadataProxyHandler(self.conf), server.start(MetadataProxyHandler(self.conf),
self.conf.metadata_proxy_socket) self.conf.metadata_proxy_socket)
server.wait() server.wait()
@ -233,7 +233,7 @@ def main():
eventlet.monkey_patch() eventlet.monkey_patch()
cfg.CONF.register_opts(UnixDomainMetadataProxy.OPTS) cfg.CONF.register_opts(UnixDomainMetadataProxy.OPTS)
cfg.CONF.register_opts(MetadataProxyHandler.OPTS) cfg.CONF.register_opts(MetadataProxyHandler.OPTS)
cfg.CONF(project='quantum') cfg.CONF(project='neutron')
config.setup_logging(cfg.CONF) config.setup_logging(cfg.CONF)
utils.log_opt_values(LOG) utils.log_opt_values(LOG)
proxy = UnixDomainMetadataProxy(cfg.CONF) proxy = UnixDomainMetadataProxy(cfg.CONF)

View File

@ -25,11 +25,11 @@ import httplib2
from oslo.config import cfg from oslo.config import cfg
import webob import webob
from quantum.agent.linux import daemon from neutron.agent.linux import daemon
from quantum.common import config from neutron.common import config
from quantum.common import utils from neutron.common import utils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum import wsgi from neutron import wsgi
proxy_socket = cfg.StrOpt('metadata_proxy_socket', proxy_socket = cfg.StrOpt('metadata_proxy_socket',
default='$state_path/metadata_proxy', default='$state_path/metadata_proxy',
@ -92,9 +92,9 @@ class NetworkMetadataProxyHandler(object):
} }
if self.router_id: if self.router_id:
headers['X-Quantum-Router-ID'] = self.router_id headers['X-Neutron-Router-ID'] = self.router_id
else: else:
headers['X-Quantum-Network-ID'] = self.network_id headers['X-Neutron-Network-ID'] = self.network_id
url = urlparse.urlunsplit(( url = urlparse.urlunsplit((
'http', 'http',
@ -141,7 +141,7 @@ class ProxyDaemon(daemon.Daemon):
handler = NetworkMetadataProxyHandler( handler = NetworkMetadataProxyHandler(
self.network_id, self.network_id,
self.router_id) self.router_id)
proxy = wsgi.Server('quantum-network-metadata-proxy') proxy = wsgi.Server('neutron-network-metadata-proxy')
proxy.start(handler, self.port) proxy.start(handler, self.port)
proxy.wait() proxy.wait()
@ -161,7 +161,7 @@ def main():
cfg.CONF.register_cli_opts(opts) cfg.CONF.register_cli_opts(opts)
# Don't get the default configuration file # Don't get the default configuration file
cfg.CONF(project='quantum', default_config_files=[]) cfg.CONF(project='neutron', default_config_files=[])
config.setup_logging(cfg.CONF) config.setup_logging(cfg.CONF)
utils.log_opt_values(LOG) utils.log_opt_values(LOG)
proxy = ProxyDaemon(cfg.CONF.pid_file, proxy = ProxyDaemon(cfg.CONF.pid_file,

View File

@ -20,16 +20,16 @@ import re
import eventlet import eventlet
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.common import config as agent_config from neutron.agent.common import config as agent_config
from quantum.agent import dhcp_agent from neutron.agent import dhcp_agent
from quantum.agent import l3_agent from neutron.agent import l3_agent
from quantum.agent.linux import dhcp from neutron.agent.linux import dhcp
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import ovs_lib from neutron.agent.linux import ovs_lib
from quantum.api.v2 import attributes from neutron.api.v2 import attributes
from quantum.common import config from neutron.common import config
from quantum.openstack.common import importutils from neutron.openstack.common import importutils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -64,7 +64,7 @@ def setup_conf():
opts = [ opts = [
cfg.StrOpt('dhcp_driver', cfg.StrOpt('dhcp_driver',
default='quantum.agent.linux.dhcp.Dnsmasq', default='neutron.agent.linux.dhcp.Dnsmasq',
help=_("The driver used to manage the DHCP server.")), help=_("The driver used to manage the DHCP server.")),
] ]
@ -158,7 +158,7 @@ def main():
will re-confirm the namespace is empty. will re-confirm the namespace is empty.
The utility is designed to clean-up after the forced or unexpected The utility is designed to clean-up after the forced or unexpected
termination of Quantum agents. termination of Neutron agents.
The --force flag should only be used as part of the cleanup of a devstack The --force flag should only be used as part of the cleanup of a devstack
installation as it will blindly purge namespaces and their devices. This installation as it will blindly purge namespaces and their devices. This

View File

@ -17,13 +17,13 @@
from oslo.config import cfg from oslo.config import cfg
from quantum.agent.common import config as agent_config from neutron.agent.common import config as agent_config
from quantum.agent import l3_agent from neutron.agent import l3_agent
from quantum.agent.linux import interface from neutron.agent.linux import interface
from quantum.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from quantum.agent.linux import ovs_lib from neutron.agent.linux import ovs_lib
from quantum.common import config from neutron.common import config
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -40,7 +40,7 @@ def setup_conf():
default=False, default=False,
help=_('True to delete all ports on all the OpenvSwitch ' help=_('True to delete all ports on all the OpenvSwitch '
'bridges. False to delete ports created by ' 'bridges. False to delete ports created by '
'Quantum on integration and external network ' 'Neutron on integration and external network '
'bridges.')) 'bridges.'))
] ]
@ -52,8 +52,8 @@ def setup_conf():
return conf return conf
def collect_quantum_ports(bridges, root_helper): def collect_neutron_ports(bridges, root_helper):
"""Collect ports created by Quantum from OVS.""" """Collect ports created by Neutron from OVS."""
ports = [] ports = []
for bridge in bridges: for bridge in bridges:
ovs = ovs_lib.OVSBridge(bridge, root_helper) ovs = ovs_lib.OVSBridge(bridge, root_helper)
@ -61,8 +61,8 @@ def collect_quantum_ports(bridges, root_helper):
return ports return ports
def delete_quantum_ports(ports, root_helper): def delete_neutron_ports(ports, root_helper):
"""Delete non-internal ports created by Quantum """Delete non-internal ports created by Neutron
Non-internal OVS ports need to be removed manually. Non-internal OVS ports need to be removed manually.
""" """
@ -76,7 +76,7 @@ def delete_quantum_ports(ports, root_helper):
def main(): def main():
"""Main method for cleaning up OVS bridges. """Main method for cleaning up OVS bridges.
The utility cleans up the integration bridges used by Quantum. The utility cleans up the integration bridges used by Neutron.
""" """
conf = setup_conf() conf = setup_conf()
@ -93,10 +93,10 @@ def main():
else: else:
bridges = available_configuration_bridges bridges = available_configuration_bridges
# Collect existing ports created by Quantum on configuration bridges. # Collect existing ports created by Neutron on configuration bridges.
# After deleting ports from OVS bridges, we cannot determine which # After deleting ports from OVS bridges, we cannot determine which
# ports were created by Quantum, so port information is collected now. # ports were created by Neutron, so port information is collected now.
ports = collect_quantum_ports(available_configuration_bridges, ports = collect_neutron_ports(available_configuration_bridges,
conf.AGENT.root_helper) conf.AGENT.root_helper)
for bridge in bridges: for bridge in bridges:
@ -104,7 +104,7 @@ def main():
ovs = ovs_lib.OVSBridge(bridge, conf.AGENT.root_helper) ovs = ovs_lib.OVSBridge(bridge, conf.AGENT.root_helper)
ovs.delete_ports(all_ports=conf.ovs_all_ports) ovs.delete_ports(all_ports=conf.ovs_all_ports)
# Remove remaining ports created by Quantum (usually veth pair) # Remove remaining ports created by Neutron (usually veth pair)
delete_quantum_ports(ports, conf.AGENT.root_helper) delete_neutron_ports(ports, conf.AGENT.root_helper)
LOG.info(_("OVS cleanup completed successfully")) LOG.info(_("OVS cleanup completed successfully"))

View File

@ -15,12 +15,12 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from quantum.common import topics from neutron.common import topics
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.openstack.common import rpc from neutron.openstack.common import rpc
from quantum.openstack.common.rpc import proxy from neutron.openstack.common.rpc import proxy
from quantum.openstack.common import timeutils from neutron.openstack.common import timeutils
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -18,9 +18,9 @@
from oslo.config import cfg from oslo.config import cfg
from quantum.common import topics from neutron.common import topics
from quantum.openstack.common import importutils from neutron.openstack.common import importutils
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
SG_RPC_VERSION = "1.1" SG_RPC_VERSION = "1.1"
@ -28,14 +28,14 @@ SG_RPC_VERSION = "1.1"
security_group_opts = [ security_group_opts = [
cfg.StrOpt( cfg.StrOpt(
'firewall_driver', 'firewall_driver',
default='quantum.agent.firewall.NoopFirewallDriver') default='neutron.agent.firewall.NoopFirewallDriver')
] ]
cfg.CONF.register_opts(security_group_opts, 'SECURITYGROUP') cfg.CONF.register_opts(security_group_opts, 'SECURITYGROUP')
def is_firewall_enabled(): def is_firewall_enabled():
return (cfg.CONF.SECURITYGROUP.firewall_driver != return (cfg.CONF.SECURITYGROUP.firewall_driver !=
'quantum.agent.firewall.NoopFirewallDriver') 'neutron.agent.firewall.NoopFirewallDriver')
def disable_security_group_extension_if_noop_driver( def disable_security_group_extension_if_noop_driver(

View File

@ -20,9 +20,9 @@ import urllib
from oslo.config import cfg from oslo.config import cfg
from webob import exc from webob import exc
from quantum.common import constants from neutron.common import constants
from quantum.common import exceptions from neutron.common import exceptions
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -292,14 +292,14 @@ class NoSortingHelper(SortingHelper):
pass pass
class QuantumController(object): class NeutronController(object):
"""Base controller class for Quantum API.""" """Base controller class for Neutron API."""
# _resource_name will be redefined in sub concrete controller # _resource_name will be redefined in sub concrete controller
_resource_name = None _resource_name = None
def __init__(self, plugin): def __init__(self, plugin):
self._plugin = plugin self._plugin = plugin
super(QuantumController, self).__init__() super(NeutronController, self).__init__()
def _prepare_request_body(self, body, params): def _prepare_request_body(self, body, params):
"""Verifies required parameters are in request body. """Verifies required parameters are in request body.

View File

@ -26,15 +26,15 @@ import routes
import webob.dec import webob.dec
import webob.exc import webob.exc
from quantum.api.v2 import attributes from neutron.api.v2 import attributes
from quantum.common import exceptions from neutron.common import exceptions
import quantum.extensions import neutron.extensions
from quantum.manager import QuantumManager from neutron.manager import NeutronManager
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum import wsgi from neutron import wsgi
LOG = logging.getLogger('quantum.api.extensions') LOG = logging.getLogger('neutron.api.extensions')
class PluginInterface(object): class PluginInterface(object):
@ -611,15 +611,15 @@ class PluginAwareExtensionManager(ExtensionManager):
def get_instance(cls): def get_instance(cls):
if cls._instance is None: if cls._instance is None:
cls._instance = cls(get_extensions_path(), cls._instance = cls(get_extensions_path(),
QuantumManager.get_service_plugins()) NeutronManager.get_service_plugins())
return cls._instance return cls._instance
class RequestExtension(object): class RequestExtension(object):
"""Extend requests and responses of core Quantum OpenStack API controllers. """Extend requests and responses of core Neutron OpenStack API controllers.
Provide a way to add data to responses and handle custom request data Provide a way to add data to responses and handle custom request data
that is sent to core Quantum OpenStack API controllers. that is sent to core Neutron OpenStack API controllers.
""" """
def __init__(self, method, url_route, handler): def __init__(self, method, url_route, handler):
@ -630,7 +630,7 @@ class RequestExtension(object):
class ActionExtension(object): class ActionExtension(object):
"""Add custom actions to core Quantum OpenStack API controllers.""" """Add custom actions to core Neutron OpenStack API controllers."""
def __init__(self, collection, action_name, handler): def __init__(self, collection, action_name, handler):
self.collection = collection self.collection = collection
@ -639,7 +639,7 @@ class ActionExtension(object):
class ResourceExtension(object): class ResourceExtension(object):
"""Add top level resources to the OpenStack API in Quantum.""" """Add top level resources to the OpenStack API in Neutron."""
def __init__(self, collection, controller, parent=None, path_prefix="", def __init__(self, collection, controller, parent=None, path_prefix="",
collection_actions={}, member_actions={}, attr_map={}): collection_actions={}, member_actions={}, attr_map={}):
@ -653,9 +653,9 @@ class ResourceExtension(object):
# Returns the extention paths from a config entry and the __path__ # Returns the extention paths from a config entry and the __path__
# of quantum.extensions # of neutron.extensions
def get_extensions_path(): def get_extensions_path():
paths = ':'.join(quantum.extensions.__path__) paths = ':'.join(neutron.extensions.__path__)
if cfg.CONF.api_extensions_path: if cfg.CONF.api_extensions_path:
paths = ':'.join([cfg.CONF.api_extensions_path, paths]) paths = ':'.join([cfg.CONF.api_extensions_path, paths])

View File

@ -13,12 +13,12 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from quantum.common import constants from neutron.common import constants
from quantum.common import topics from neutron.common import topics
from quantum.common import utils from neutron.common import utils
from quantum import manager from neutron import manager
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.openstack.common.rpc import proxy from neutron.openstack.common.rpc import proxy
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -44,7 +44,7 @@ class DhcpAgentNotifyAPI(proxy.RpcProxy):
topic=topic, default_version=self.BASE_RPC_API_VERSION) topic=topic, default_version=self.BASE_RPC_API_VERSION)
def _get_dhcp_agents(self, context, network_id): def _get_dhcp_agents(self, context, network_id):
plugin = manager.QuantumManager.get_plugin() plugin = manager.NeutronManager.get_plugin()
dhcp_agents = plugin.get_dhcp_agents_hosting_networks( dhcp_agents = plugin.get_dhcp_agents_hosting_networks(
context, [network_id], active=True) context, [network_id], active=True)
return [(dhcp_agent.host, dhcp_agent.topic) for return [(dhcp_agent.host, dhcp_agent.topic) for
@ -59,7 +59,7 @@ class DhcpAgentNotifyAPI(proxy.RpcProxy):
def _notification(self, context, method, payload, network_id): def _notification(self, context, method, payload, network_id):
"""Notify all the agents that are hosting the network.""" """Notify all the agents that are hosting the network."""
plugin = manager.QuantumManager.get_plugin() plugin = manager.NeutronManager.get_plugin()
if (method != 'network_delete_end' and utils.is_extension_supported( if (method != 'network_delete_end' and utils.is_extension_supported(
plugin, constants.AGENT_SCHEDULER_EXT_ALIAS)): plugin, constants.AGENT_SCHEDULER_EXT_ALIAS)):
if method == 'port_create_end': if method == 'port_create_end':

View File

@ -13,12 +13,12 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from quantum.common import constants from neutron.common import constants
from quantum.common import topics from neutron.common import topics
from quantum.common import utils from neutron.common import utils
from quantum import manager from neutron import manager
from quantum.openstack.common import log as logging from neutron.openstack.common import log as logging
from quantum.openstack.common.rpc import proxy from neutron.openstack.common.rpc import proxy
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -46,7 +46,7 @@ class L3AgentNotifyAPI(proxy.RpcProxy):
operation, data): operation, data):
"""Notify changed routers to hosting l3 agents.""" """Notify changed routers to hosting l3 agents."""
adminContext = context.is_admin and context or context.elevated() adminContext = context.is_admin and context or context.elevated()
plugin = manager.QuantumManager.get_plugin() plugin = manager.NeutronManager.get_plugin()
for router in routers: for router in routers:
l3_agents = plugin.get_l3_agents_hosting_routers( l3_agents = plugin.get_l3_agents_hosting_routers(
adminContext, [router['id']], adminContext, [router['id']],
@ -65,7 +65,7 @@ class L3AgentNotifyAPI(proxy.RpcProxy):
def _notification(self, context, method, routers, operation, data): def _notification(self, context, method, routers, operation, data):
"""Notify all the agents that are hosting the routers.""" """Notify all the agents that are hosting the routers."""
plugin = manager.QuantumManager.get_plugin() plugin = manager.NeutronManager.get_plugin()
if utils.is_extension_supported( if utils.is_extension_supported(
plugin, constants.AGENT_SCHEDULER_EXT_ALIAS): plugin, constants.AGENT_SCHEDULER_EXT_ALIAS):
adminContext = (context.is_admin and adminContext = (context.is_admin and

Some files were not shown because too many files have changed in this diff Show More