neutron/neutron/plugins/nicira
Salvatore Orlando c7cf2edcef Introduce periodic state synchronization with backend
Blueprint nicira-plugin-get-improvements

With this patch GET operations on the Nicira plugin will not
be forwarded anymore to the NVP backend.
Resource operational status will be periodically retrieved from
the NVP backend using a DynamicLoopingCall.
The process has been designed with the aim of avoiding:
1) frequent queries to NVP for retrieving resource status
2) execution of large queries to NVP for retrieving the status
   of a consistent number of resources.
The process can be tuned using a set of configuration variables.
GET operations will now return a status which might differ
from the actual status of the resource. For retrieving status
in a punctual way, the field 'status' should be explicitly
specified in the GET request (only 'show' support has been
implemented in this patch)

This patchs also makes some changes to the fake nvp api client in
order to ensure each instance has a private set of dictionaries for
fake nvp entities.

Change-Id: Ia745b80d2826de32ba8d6883c0d6e0893047e123
2013-09-03 19:40:20 -07:00
..
api_client Add support for the extra route extension in the NVP plugin. 2013-07-12 13:21:17 -07:00
common Introduce periodic state synchronization with backend 2013-09-03 19:40:20 -07:00
dbexts Allow subclasses to modify dict_extend hooks 2013-09-02 17:37:22 -07:00
dhcp_meta Refactoring for nicira plugin to support NVP DHCP/Metadata services 2013-09-03 15:04:32 -07:00
extensions Support for NVP distributed router 2013-08-29 09:56:08 -07:00
NeutronPlugin.py Introduce periodic state synchronization with backend 2013-09-03 19:40:20 -07:00
NvpApiClient.py Deal with 501 errors from NVP correctly 2013-08-22 13:12:15 -07:00
README Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
check_nvp_config.py Remove references to enable_metadata_access_network_option 2013-08-13 09:04:50 -07:00
dhcpmeta_modes.py Refactoring for nicira plugin to support NVP DHCP/Metadata services 2013-09-03 15:04:32 -07:00
nvp_cluster.py Nicira plugin: Reduce message severity to DEBUG from INFO 2013-08-13 09:24:05 -07:00
nvplib.py Introduce periodic state synchronization with backend 2013-09-03 19:40:20 -07:00

README

nvp-plugin
-----------------------------------------------------------------------------

Overview and pre-requisites

    This is a Neutron plugin that can talk to a set of NVP controllers and
    implements the core Neutron v2 api.  In order to use it you must have
    Nicira NVP running and configured.  You must also have Neutron installed
    and configured.

NVP Plugin configuration

    1) Database configuration
    The NVP plugin leverages the Neutron database. The following connection
    parameters should be specified:
    - connection: Database connection string
    - max_retries: Maximum number of connection attempts (default 10)
    - retry_interval: Gap between connection attempts (default 2 seconds)
    2) NVP (general)
    - max_lp_per_bridged_ls: Maximum number of ports of a logical switch on a
    bridged transport zone (default 64)
    - concurrent_connections: Number of connects to each controller node
    (default 3)
    - nvp_gen_timout: Number of seconds a generation id should be valid for
    (default -1 meaning do not time out)
    3) NVP cluster
    By default the Neutron NVP plugin can talk to multiple controllers in a
    single cluster. In the future (Havana+) support for multiple clusters
    will be added.
    The following parameters can be configured:
    - default_tz_uuid: This is uuid of the default NVP Transport zone that
      will be used for creating tunneled isolated "Neutron" networks. It
      needs to be created in NVP before starting Neutron with the nvp plugin.
    - nvp_cluster_uuid: Optional paramter identifying the UUID of the cluster
      in NVP.  This can be retrieved from NVP management console "admin" section.
    - nvp_controllers: describes the list of controllers
    More details can be found in etc/neutron/plugins/nicira/nvp.ini

Neutron Configuration

    Modify your Neutron configuration for using the NVP Plugin:

    core_plugin =
        neutron.plugins.nicira.neutronPlugin.NvpPluginV2