Prevent update_port ip_address from matching address_pair

Previously one could update a port to match one of the address_pairs.
This patch prevents that.

Fixes bug: 1223646

Change-Id: Ic8cecfdb83b3fd9d2691bb41e0427cf578577fc8
Support for NVP advanced FwaaS service

The patch adds advanced FWaaS service support for NVP with
VCNS:
        * NVP FWaaS is an advanced Service of NVP depending on NVP
          advanced service router
            - Once an advanced router id created, one corresponding
              vshield edge will be deployed, and then we can configure
              FW service on the vshield edge
        * NVP FWaaS service plugin still uses FWaaS DB service logic,
          while finally calling vShield Edge to support FWaaS service
            - When firewall object is created, we will attach the
              object to the advanced router with routedserviceinsertion_db
              service
        * on driver part, the driver will first convert the object
          to VSM known object input, and then send a synchronous JSON
          calling to VSM, and receive the result

Implements: blueprint nvp-fwaas-plugin
Change-Id: Id43af8821f5c553356e3cc870993eef99ef7def3
Make router-interface-delete work in N1kv plugin

Fixes bug 1226729

Change-Id: If2c6bc544dfa45cb98d5951c99f158d49191b031
Support advanced NVP LBaaS Service

The patch adds NVP advanced LBaaS service support for NVP with
VCNS:
        * NVP LBaaS is an advanced Service of NVP depending on NVP
          advanced service router
            - Once an advanced router id created, one corresponding
              vshield edge will be deployed, and then we can configure
              LB service On the vshield edge
        * NVP LBaaS service plugin still uses LBaaS DB service logic,
          while finally calling vShield Edge to support FWaaS service
            - When creating VIP object, service attaches the object to
              the advanced router with routedserviceinsertion service.
              Then before pushing VIP VCNS call, the server would first
              pushing associated POOL VCNS call and associated Monitor
              VCNS call to vShield Edge. Deleting VIP is opposite
              operation
            - Refering to CUD operation of other objects, service would
              first find the associated VIP object and then find the edge bound to
              the router which vip inserted. Then service would push corresponding
              VCNS call to Vshield Edge
        * on driver part, the driver will first convert the object
          to VSM known object input, and then send a synchronous JSON
          calling to VSM, and receive the result

Implements: blueprint nvp-lbaas-plugin
Change-Id: Iec41f2dc103daddf3bed4d09c147df3865b3dccd
Dynamically adjust max number of leases

This change dynamically adjusts the maximum number of leases based on
the size of the subnets associated with a network.  The upper bound is
limited by a configurable option to keep the max reasonable and prevent
denial of service.

Closes bug: 1225200

Change-Id: I75c3907bcf45cd991eadf5dd8c8ad7f1eaab3c85
BigSwitch plugin: allow 'external' keyword in router rules

Allows 'external' keyword in addition to 'any' keyword
in BigSwitch router rules support.

Closes-Bug: #1226814
Change-Id: Ia92513e89b0c95c5b3b98921e126fdd21cc4f405
BigSwitch plugin: passes context to all update_network calls

There were a few calls to update the network on the backend
that were not having the context passed to them so they were
incorrectly using the admin context. This patch corrects that
by passing the context to all network update calls. It also
disallows calls to _send_update_network that don't provide
the context because there is not a use case for that condition.

Closes-Bug: #1226803
Change-Id: I7f0cbb797df9f565d0a00a7c67278cd96301f244
Merge "Support for NVP advanced FwaaS service"
Merge "Support advanced NVP LBaaS Service"
Fixing two comments regarding bind_port in ml2

Fixes two comment lines regarding when bind_port
is called. The correct comment should indicate that
bind_port is called prior to "create_port_precommit or
update_port_precommit" rather than
"create_network_precommit or update_network_precommit".

Change-Id: I5c0cb49efb43b15fdc5a7f88569e19fcf8d72819
Port binding registration with NeutronDbPlugin causes Neutron crash

fixes bug: 1226169

port binding feature of ML2 plugin registers a callback function with
db_base_plugin_v2.NeutronDbPluginV2, which is invoked during a query of
port DB. This function is registered by name instead by refefence. This
causes wrong context to be passed to the function upon invocation, which
causes the exception. If this query is made during neutron
initilization, Neutron service will fail to start.

This fix changes the registration from function name to function
pointer

Change-Id: I44f7f1a222f80c9ce35f7d49610e52170f76dfd1
Imported Translations from Transifex

Change-Id: I4210dec928be0490517665470d08c37df806fb59
Merge "BigSwitch plugin: passes context to all update_network calls"
Merge "Fixing two comments regarding bind_port in ml2"
Merge "Prevent update_port ip_address from matching address_pair"
Merge "Port binding registration with NeutronDbPlugin causes Neutron crash"
Merge "Imported Translations from Transifex"
Merge "Make router-interface-delete work in N1kv plugin"
Merge "BigSwitch plugin: allow 'external' keyword in router rules"
Merge "Dynamically adjust max number of leases"