vmware-nsx/neutron/services/l3_router
Ihar Hrachyshka cc0ab4b024 Removed create_rpc_dispatcher methods
Now that we don't have a special dispatcher class and we pass a list of
endpoints to corresponding functions instead, those methods are
unneeded.

blueprint oslo-messaging

Change-Id: If2b187fd8e553594212264f34b51b5b99c4630b2
2014-06-20 20:44:37 +02:00
..
__init__.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
l3_apic.py Cisco APIC Layer 3 Service plugin 2014-06-04 08:37:06 -07:00
l3_router_plugin.py Removed create_rpc_dispatcher methods 2014-06-20 20:44:37 +02:00
README Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00

This service plugin implements the L3 routing functionality (resources router
and floatingip) that in earlier releases before Havana was provided by core
plugins (openvswitch, linuxbridge, ... etc).

Core plugins can now choose not to implement L3 routing functionality and
instead delegate that to the L3 routing service plugin.

The required changes to a core plugin are in that case:
- Do not inherit 'l3_db.L3_NAT_db_mixin' (or its descendants like extraroute)
  anymore.
- Remove "router" from 'supported_extension_aliases'.
- Modify any 'self' references to members in L3_NAT_db_mixin to instead use
  'manager.NeutronManager.get_service_plugins().get(constants.L3_ROUTER_NAT)'
  For example,
     self.prevent_l3_port_deletion(...)
  becomes something like
     plugin = manager.NeutronManager.get_service_plugins().get(
         constants.L3_ROUTER_NAT)
     if plugin:
         plugin.prevent_l3_port_deletion(...)

If the core plugin has relied on the L3Agent the following must also be changed:
- Do not inherit 'l3_rpc_base.L3RpcCallbackMixin' in any '*RpcCallbacks' class.
- Do not be a consumer of the topics.L3PLUGIN topic for RPC.

To use the L3 routing service plugin, add
'neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'
to 'service_plugins' in '/etc/neutron/neutron.conf'.
That is,
service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin