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
Use system locale when Accept-Language header is not provided

Remove en_US as the default language when no header is provided, and use
None instead. Upon translation None will be defaulted to system as it
was before the translation changes.

Fixes bug: #1214476

Change-Id: I0fe22c526710e69ae0731e7d0b42170e6f3a8523
Fix 500 error on invalid security-group-rule creation for NVP

Validate that, when creating rules specifying a protocol different
from TCP, UDP, ICMP and ICMPv6, no port (range) is specified because
NVP does not like it.

The extra validation is specific to the NVP plugin because other
plugins may choose a different failure mode. For example, the ovs
plugin does not complain at all, but it just ignores the port range
if the protocol is not a port-oriented one.

Fixes bug #1213293

Change-Id: I46e9032b5cf7f7d88b9d05c3bf020784b04217d9
Add metadata_proxy_socket into configuration files

Change-Id: I76856c2f804be92fa8cc667b4653d2e5e58e422a
Fixes: Bug #1215261
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
Enable GRE and VXLAN with the same ID

Current packet processing in br-tun is based on tun-id,
as a consequence, two networks using different tunnel
types but sharing the same tun-id would not be properly isolated.

To ensure proper isolation within a single bridge, NORMAL action
can't be used any more as it floods unknown unicasts on all
bridges ports. It is replaced by a learn action that dynamically
sets-up flows when packets are recieved from tunnel ports. As mac
address are learnt in explicit flows (in table 20), we can use a
default action in that table to flood unknown unicasts to the
right set of ports, like broadcasts and multicasts packets.

See https://wiki.openstack.org/wiki/Ovs-flow-logic for a more
detailled explanation of the flow logic

Another alternative could have been to use distinct bridges for
each tunnel type (whithout modifying the current flow logic),
but previous alternative may be preferable as it paves the way
for new tunneling optimisations (like RPC based mac learning and
partial-mesh flooding proposed in bp/l2-population)

Change-Id: I1dfe74f96680c2c6fe4d8d4aac4821c6b020c005
Closes-Bug: #1196963
Deal with 501 errors from NVP correctly

This is done by adding the error code to the exception
handlers dictionary as done for other error codes.

Fixes bug #1215583

Change-Id: Ic876c6bccaf94cae626dfc908c4a34dfbcead406
Fix port creation issue appeared with postgresql backend

IPAllocationPool has relation to IPAvailabilityRange which is setup to
load eagerly. Eager loading is implemented with left outer join which is
incompatible with with_lockmode('update') on postgresql.
The fix redefines eager loading with options(joinedload) making it use
inner join.

fixes bug 1215350

Change-Id: I148d37f2a1c2a340327d36c240eb8173aee9219a
Separate l3 db tests for l3 agent into their own test case

Bug 1215871

This patch does a simple refactoring of test_l3_plugin, pushing out tests
aimed at validating the interactions of the l3 agent with the server.

These tests explicitly use TestL3NatPlugin, whereas all the
other tests use a configurable plugin, which might be specificed by a child
class. This might lead to confusion and possibly errors in unit tests for
child classes, especially those not using the l3 agent - for which running
these test is also superfluous.

Change-Id: Ia9ed320ea775fc548e6a5b711c67c9f3b0ae2f6d
Avoid performing extra query for fetching mac learning binding

Bug 1214879

Add a relationship performing eager load in the Port model, thus preventing
the 'extend' function from performing an extra query.
This patch also replaces assertTrue with assertEqual in unit tests as it
needs to evaluate whether the value of the mac_learning_enabled attribute
is equal to the boolean literal True, whereas assertTrue verifies that the
expression passed to it evaluates to True. This means that any value but
False will be enough for the test to pass, which is not correct.

Change-Id: I03345ef3a125fdfa1ec7f6c3363d76efc12ced82
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
Minimize ovs l2 agent calls to get_vif_port_set()

The ovs l2 agent was previously calling get_vif_port_set() on the
integration bridge once per rpc_loop() iteration and then again in
the periodic _report_state() call that returns the current device
count to the neutron service.  Since get_vif_port_set() is an
expensive call (relying on shell commands) and since there
is minimal risk associated with reporting stats that are a few
seconds old, this patch caches the device count for reuse by
_report_state().

Partial-Bug: 1177973

Change-Id: Ice73384ed1ba1e97120028cd0a9bff94a62a41a4
BigSwitch plugin - add portbinding info in requests to controller

Include portbinding info in requests to controller so it receives
information about the compute node like the VIF type and the host
ID. Also includes better debug output on back-end failures.

Fixes: bug #1216061
Change-Id: Ib85c8a088ee9fb94baaf8f28849b318b32d9d672
Support for Floating IPs in PLUMgrid plugin

Implements blueprint plumgrid-plugin-floatingip

Include operations supporting create, update and delete of Floating IPs
Drivers been updated properly

Change-Id: I8ed5e620e45f026e0673be78971329a93353370d
Analyze re-raised exceptions in Cisco Plugin

Checked all cases of re-raised exceptions. In several cases, the exception
was redundant (re-raising the same exception), so the try block and
exception handling was removed.

In one case, exceptions raised from two sources were re-raised with a
a different exception. Instead of doing this, the original exceptions
were changed and the try block and re-raised exception were removed.

In cases where there were database exceptions that were re-raised as
Neutron exceptions, the traceback was left as-is, since it was more
informative to know the higher level source of the issue.

The same was true for the exception mentioned in the bug, where the
original failure was in the ncclient library parsing the configuration
and it would be more descriptive to know that there was a connection
failure or a config failure, that to know the library method.

bug 1213159

Change-Id: Ie334d2548bf651c61e878bf797adaf8c5880eb86
Imported Translations from Transifex

Change-Id: Iec84d6c1aced5c2cbd976f899811396f9f9e6753
Merge "Add metadata_proxy_socket into configuration files"
Merge "Imported Translations from Transifex"
Embrane Neutron Plugin

Implements blueprint embrane-neutron-plugin

This commit implements the main Embrane plugin, which covers
route and extratoute extensions.

The plugin will rely on existing plugins for leveraging L2 networks,
for now it only supports OpenVSwitch and vlan networks, but more
supports are to come if the model is approved (or a different one
is suggested).

Change-Id: I90aff8ec4324bd3a7c59c411374db6a118d1a72b
Merge "Enable GRE and VXLAN with the same ID"