Add list of pool ids to HealthMonitor dict

List of pool ids will allow users (and horizon dashboard) to
show associations between pools and monitors more conveniently.

fixes bug 1212258

Change-Id: Ie1e48e554382a6a4df9e1ba6312c505ba2ca8c02
Add recent neutron extentions and IB support

Additions to Mellanox Plugin:
Add ML2 compatibility support.
Enable Infiniband Network Type.
Keep the compatibility to Linux Bridge Plugin to allow Network node deployment via Linux Bridge L2 Agent.
Add support for Host Port Binding and L3/DHCP Agent Scheduler.

Implements: blueprint mlnx-plugin-improvments

Change-Id: Ieca518bbd07a39258cd14ceeecd3f9d3e2b6f219
Improve dhcp agent structure to support multiple dhcp models

This patch introduces some minor refactoring of the dhcp
code so that it is easy to support both an in-node/same
process dhcp provisioning model (e.g. with dnsmasq) and
proxy model, where DHCP is provided by an external node.

Higher separation of concerns is also achieved by doing
better data encapsulation.

Implements blueprint dhcp-flexi-model

Change-Id: Icbd215e9682ecaebb6a4300423f3564e8e677566
Fix incorrect usage of assertTrue()

The usage of assertTrue() is incorrect, more explicit assert
from the unit test suite(like assertIsNotNone or assertIn)
should be used instead.

Fixes: bug #1217028
Change-Id: I30a80bc9e122d28c22b698e0cb97068c1040bfc3
Signed-off-by: Rosario Di Somma <rosario.disomma@dreamhost.com>
Forbid update of subnet gateway ip when in use by a port

Bug 1186322

If a port is currently using the subnet's gateway IP, which usually
happens for router interfaces, do not allow updates to the gateway IP.
This patch adds an extra query on the IPAllocation model, which
returns at most a single record, and is executed in _validate_subnet
only when the subnet is updated.

Change-Id: Ie29be1b83f9a639562bfc84f3f2c082833126d32
Fix a race condition in add_tunnel_endpoint()

If there are multiple OVS agents concurrently executing
'tunnel_sync' RPC call a race condition can occur
leading to insertion of two different TunnelEndpoint
entries having the same 'id' value.

Unfortunately, we can not rely on:
  - @lockutils.synchronized(), because a Neutron installation can use
    more than one API node
  - with_lockmode('update'), because it works differently in PostgreSQL
    comparing to MySQL and doesn't guarantee that no new rows have been
    added to the table since the select query was issued. Please take a
    look at http://www.postgresql.org/files/developer/concurrency.pdf for
    more details.

The proposed fix:
  - ensures there is a unique constraint set for 'id' column
  - wraps creation of a new TunnelEndpoint entry into a
    repeatedly executed transactional block (so even if a concurrent
    DB transaction has been flushed or commited earlier than this one
    we can handle an integrity error and try again, in spite of the
    specified transactions isolation level value)

Fixes bug 1167916

Change-Id: I62dc729d595f090436199d5e1b6b98a884ead7a5
Merge "Add recent neutron extentions and IB support"
Merge "Fix a race condition in add_tunnel_endpoint()"
Use assertEqual instead of assertEquals

Closes-Bug: #1218185

For unittest, assertEquals is deprecated in py3, use assertEqual
instead.

Change-Id: Ia71b51a0f2625aec5fb4644853a79c2ea80a799c
Imported Translations from Transifex

Change-Id: I8a48ee88df7f54559cd1b05245d6523a127ef665
Merge "Imported Translations from Transifex"
Support for NVP distributed router

Blueprint nvp-distributed-router

This patch adds support for NVP distributed logical routers
adding a simple attribute extension.
The default router type can be controlled used the default_router_type
option in the nvp section of neutron configuration.
In order to ensure backward compatibility, pre-existing routers
will be treated as centralized routers.

Change-Id: Iaab9ffb6071c93990be711ebb56c212230544a7a
Merge "Add list of pool ids to HealthMonitor dict"
Merge "Fix incorrect usage of assertTrue()"
Merge "Improve dhcp agent structure to support multiple dhcp models"
Fix unsuitable assertTrue/assertFalse in api ut

Some usages of assertTrue()/assertFalse() are incorrect, improve
them to more explicit assert from the unit test suite.

Closes-Bug: #1218621
Change-Id: I22be2af05f06e91020dbaa4cf08bf395d68f563b
Merge "Forbid update of subnet gateway ip when in use by a port"
Merge "Fix unsuitable assertTrue/assertFalse in api ut"
Merge "Support for NVP distributed router"