vmware-nsx/neutron/plugins/oneconvergence
Akihiro Motoki 55737a749e Make SecurityGroupsRpcCallback a separate callback class
RPC has a version of itself. In Neutron a plugin implements
several RPC interface, so a single RPC version doesn't work.
In Mixin callback class approach, RPC versioning depends on
each plugin implementation and it makes harder to maintain
RPC version appropriately. This patch series replaces mixin
RPC callback of server side with a separate class.

This commit handles server-side callback of security group
RPC interface.
* The server-side callback of Security group RPC is moved to
  api/rpc/handler and db/securitygroups_rpc_base now only
  contains a mixin class to add agent-based security group
  implementation with db operations.
* get_port_from_device method in server-side callback class
  is moved to a mixin class of plugin implementation
  (SecurityGroupServerRpcMixin) because it involves DB lookup
  and is tightly coupled with plugin implementation rather
  than RPC interface definition.

Most unit tests for SGServerRpcCallBackTestCase were skipped
in the base class before, but now they are no longer skipped.

The following items will be planned in later patches
to avoid drastic changes in a single patch.
* Merge security group RPC API and agent callback classes in
  agent/securitygroups_rpc into api/rpc/handlers/securitygroup_rpc
* Remove completely duplicated db access code in get_port_from_device
  and get_port_and_sgs

Partial-Bug: #1359416
Change-Id: Ia6535217d2e3b849a95667c1b53dd09675002892
2014-08-30 10:19:42 +08:00
..
agent Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
lib Merge "Use jsonutils instead of stdlib json" 2014-08-14 13:12:34 +00:00
README One Convergence Neutron Plugin l3 ext support 2014-03-06 21:50:55 +00:00
__init__.py One Convergence Neutron Plugin Implementation 2014-03-06 08:10:07 -08:00
plugin.py Make SecurityGroupsRpcCallback a separate callback class 2014-08-30 10:19:42 +08:00

README

One Convergence Neutron Plugin to implement the Neutron v2.0 API. The plugin
works with One Convergence NVSD controller to provide network virtualization
functionality.

The plugin is enabled with the following configuration line in neutron.conf:

core_plugin = neutron.plugins.oneconvergence.plugin.OneConvergencePluginV2

The configuration parameters required for the plugin are specified in the file
etc/neutron/plugins/oneconvergence/nvsdplugin.ini. The configuration file contains
description of the different parameters.

To enable One Convergence Neutron Plugin with devstack and configure the required
parameters, use the following lines in localrc:

Q_PLUGIN=oneconvergence

disable_service n-net
enable_service q-agt
enable_service q-dhcp
enable_service q-svc
enable_service q-l3
enable_service q-meta
enable_service neutron

NVSD_IP=
NVSD_PORT=
NVSD_USER=
NVSD_PASSWD=

The NVSD controller configuration should be specified in nvsdplugin.ini before
invoking stack.sh.