Expand arp_responder help text

Add additional text to arp_responder help to ensure that
proper documentation is included in the configuration guide.

Make ML2 and L2population references consistent.

Closes-Bug: #1321320

Change-Id: I0fc0691fc3729aa39888c90ca871ad7f711343f8
Replace nullable from primary keys in tz_network_bindings with default

Columns vlan_id and phy_uuid were both nullable and primary keys.
Primary keys cannot be nulls. This situation caused problems in
autogenerating scripts creating always migration that set these columns
to nullable.

Instead of having primary keys nullable this patch creates a default
values.

Change-Id: I04642f6d6ad232997a593bff8ca44f9a7a803ffd
Closes-bug: #1346900
Do not assume order of new_peers list elements

This fixes the vpn unit test that breaks with a randomized PYTHONHASHSEED
(see the bug report).

The test assumed that the new_peers list from self.new_update_request had
elements in a particular order. Found with PYTHONHASHSEED=2455351445.

The fix refactors the test case to handle an unsorted new_peers list by
sorting it before running the test.

Partial-bug: #1348818

Note: There are several other unrelated unit tests that also break with a
randomized PYTHONHASHSEED, but they are not addressed here. They will be
addressed in separate patches.

Change-Id: I86e7f84cedbdc8e1d7404363a560fd759d264c49
SecurityGroupRuleExists should point out rule id inseand of group id

When we get a SecurityGroupRuleExists, we want to get the rule id
instaed of group id, and this is what the fucntion
_check_for_duplicate_rules() does.

Change-Id: I9b526d9829582cb26bfda98bcaf1704fe8681cbe
Closes-bug:  #1354343
Option to remove routers from dead l3 agents

Add a configuration-enabled periodic check to examine the
status of all L3 agents with routers scheduled to them and
admin_state_up set to True. If the agent is dead, the router
will be rescheduled to an alive agent.

Neutron considers and agent 'dead' when the server doesn't
receive any heartbeat messages from the agent over the
RPC channel within a given number of seconds (agent_down_time).
There are various false positive scenarios where the agent may
fail to report even though the node is still forwarding traffic.

This is configuration driven because a dead L3 agent with active
namespaces forwarding traffic and responding to ARP requests may
cause issues. If the network backend does not block the dead
agent's node from using the router's IP addresses, there will be
a conflict between the old and new namespace.

This conflict should not break east-west traffic because both
namespaces will be attached to the appropriate networks and
either can forward the traffic without state. However, traffic
being overloaded onto the router's external network interface
IP in north-south traffic will be impacted because the matching
translation for port address translation will only be present
on one router. Additionally, floating IPs associated to ports
after the rescheduling will not work traversing the old
namespace because the mapping will not be present.

DocImpact

Partial-Bug: #1174591
Change-Id: Id7d487f54ca54fdd46b7616c0969319afc0bb589
Remove INACTIVE status from FWaaS

DOWN status is introduced to replace INACTIVE status. There is one
place in FWaaS code which still checks INACTIVE status.

This commit removes INACTIVE status from FWaaS.

Change-Id: I896c81a6229978a46f8a88a31936920a1036f142
Partial-Bug: #1286048
Skip FWaaS config mismatch check if RPC method is unsupported

In this commit FWaaS config check skip is skipped
if neutron server does not support this API.

Commit d6f014d introduced FWaaS config mismatch check between
server and agent. It added a new RPC method get_service_plugin_list
and bumped l3-agent RPC version to 1.3, but this version RPC is
only supported by L3 router service plugin and
it breaks existing plugins using L3 router mixin.

Bumping l3-agent RPC version requires detailed investigation on all
affected plugins and it can be done by plugin maintainer later.

Change-Id: I388a24b0c6a507203674ef108bb14cea0534f98c
Closes-Bug: #1353309
NSX: Avoid floating IP status reset

The method for setting the floating IP status in the NSX plugin
has a flaw that causes in some cases the status to be reset.
This patch removes this bug and also protects against regression
adding status check in the unit test covering floating ip
creation.

This patch also moves the above mentioned unit test in a more
suitable place in the test same module.

Change-Id: Ib08c421ade20ce23b5c08145203a2df6a8f3efa5
Closes-Bug: #1357514
Implement namespace cleanup for new DVR namespaces

DVR introduces a new namespace type called snat-<router_id>.  These
namespaces are not properly cleaned up when found stale after an agent
restart.  This patch fixes that.

Change-Id: I0d8b83e0b7838957742e72aa2f42b15e0ca67f04
Partially-implements: blueprint neutron-ovs-dvr
Cisco N1kv plugin to send subtype on network profile creation

Make sure that the cisco n1kv neutron plugin sends the sub_type too
when a overlay network profile is created

Change-Id: I37e63131039077fa80a28fe725c09f0307acc2ea
Closes-Bug: 1357125
Merge "Option to remove routers from dead l3 agents"
Imported Translations from Transifex

Change-Id: Idb90ce3c60dc6e668ee316cf36bde79268f95e63
Merge "Do not assume order of new_peers list elements"
Merge "Imported Translations from Transifex"
Merge "Cisco N1kv plugin to send subtype on network profile creation"
Merge "Implement namespace cleanup for new DVR namespaces"
Send HTTP exceptions in the format expected by neutronclient

Neutron client for the v2 API expects exceptions to have 'type',
'message' and 'detail' attributes. That is why they need to be
included in the body of HTTP Exceptions.

Change-Id: I70bd47977e42ad7bac760600329e9440452b74bc
Closes-Bug: 1355902
Merge "Replace nullable from primary keys in tz_network_bindings with default"
Merge "Skip FWaaS config mismatch check if RPC method is unsupported"
Merge "Remove INACTIVE status from FWaaS"