Add support for router scheduling in Cisco N1kv Plugin

Added functionality for router and network scheduling
in Cisco N1kv Plugin.

Change-Id: I1a8d27670d10ca26fb62a8d02230a1aaf3e7bbca
Closes-Bug: #1286412
ML2 Cisco Nexus MD: Support portchannel interfaces

Port of port-channel interface support that was implemented for the cisco
core plugin - https://review.openstack.org/#/c/42037

Note that additional port-channel UT already existed. (Created during
initial cisco core nexus subplugin -> ml2 cisco nexus md port.)
See test_cisco_nexus.py module, NEXUS_PORTCHANNELS references.

Closes-Bug: 1294900
Change-Id: Ifc64f605e5783ee1e85d66c87f422f64b47fa996
Remove duplicated tests for check_ovs_vxlan_version

test_ovs_lib, test_ovs_neutron_agent and test_ofa_neutron_agent
have duplicated same unit tests for check_ovs_vxlan_version.
This commits removes tests from ovs/ofa_neutron_agent.

Change-Id: Ia028a4afc1c8154f895187c979d23b626ab4ae3a
Closes-Bug: #1301337
Clean out namespaces even if we don't delete namespaces

Even when we don't enable namespace deletion, we still want to run the
code that cleans out the namespaces so that the devices get unplugged,
etc.  Otherwise, routers deleted while the agent is down will continue
to operate as if they were never deleted.

The trade-off to consider here is that if there are many stale
namespaces this will slow down the restart of the L3 agent.  The best
option is to get namespace deletion working correctly.  However, where
that has not been worked out yet, this patch provides the cleaning
service for deleted routers.

Change-Id: Ic7b4608a23c4d9530f521d5faff3f8526200b92e
Closes-Bug: #1301042
Related-Bug: #1052535
lb-agent: fix get_interfaces_on_bridge returning None

Change get_interfaces_on_bridge() to return [] instead of None
if the bridge is not found, as callers are expecting an iterator.

Change-Id: I359a2a0cf932c049f6891d4ba3eb8b9b23ab360d
Related-Bug: 1284311
OFAgent: Avoid re-wiring ports unnecessarily

Port the following patch to OFAgent.
commit: a9050757d94009c68f06c9f374de33eefbf06aa9
https://review.openstack.org/#/c/63558/

Partial-Bug: 1293265

Change-Id: I35d58bad104b01136c2502c933475ac85a3752a5
Add common base class for agent functional tests

Refactor the functional tests a bit to add a common base class for agent
tests. This is needed an upcoming commit which adds a functional test
for VXLAN version checking.

Closes-Bug: #1301363

Change-Id: I438e401cbfb40e5557e5125f2a409bac5c1fd1c2
Set the log level to debug for loading extensions

Setting the log level to debug instead of info
for load extension file.

Change-Id: Ia2322a5d62381f15b4bf4e0bb7120813be985786
Typographical correction of Arista ML2 help

The Configuration Reference Guide on docs.openstack.org contains
configuration tables generated based on the help strings defined
in the Python code.

Typographical errors in the source for the Arista ML2 plugin,
particularly a lack of spaces between the start and end of
continuing lines, were resulting in errors in the guide.

Change-Id: I793274d9bf631db890af57f242b99de99db6f1f6
BSN: Remove module-level ref to httplib method

Removes a module-level variable that was just a
pointer to the httplib.HTTPConnection class. It's
purpose was to give mock.patch a target that wouldn't
affect other code using the httplib.HTTPConnection
library. However, it is unnecessary now that the
root cause of the original patches not being stopped
by mock.patch.stopall was fixed in bug 1303605 (change
Ia5b374c5f8d3a7905d915de4f1f8d4f3a6f0e58d).

Closes-Bug: #1304558
Change-Id: Idf814b075a80245bb9751466c2b58d719a1b81f3
Set correct columns' length

In migration 569e98a8132b_metering incorrect length is set for
description column (255 instead of 1024) and in migration
39cf3f799352_fwaas_havana_2_model for firewall_rules table
incorrect length is set  for protocol column (24 instead of 40).

partially implement bp: db-sync-models-with-migrations

Change-Id: I0b2cb00c3bd2cd2ac7e002c861095129e5b5aa96
BigSwitch: Create router ports synchronously

Since router ports are created as part of a
long transaction with multiple REST calls, they
need to be created sychronously. This is to prevent
the async thread from deleting them from the backend
if it can't find them in cases where they haven't been
committed to the DB yet.

Closes-Bug: #1305331
Change-Id: I2ab3c862dc6b1760199654bbd0969ac5efdbe704
Revert "Hide ipv6 subnet API attributes"

This reverts commit d739486a3f70cb83f8730cf7201a8b8ccf4b4c70.

Change-Id: I27352ba5442da8c69c2d1ab6d5e333e95dc5ebf7
VMware: log backend port creation in the right place

Change-Id: Ifb8cbb31902193ecf0dde56c46688dcdd637b3bb
Closes-Bug: 1304723
NSX: Fix KeyError in sync if nsx_router_id not found

Previously, a KeyError would occur in the sync code which would
cause the sync thread to stop running. This would occur if there
was a router entry in the database but no nsx_router_mapping and
the router was not found in nsx. Note: this should never happen unless
one did not run the db migration which introduced and migrated the data
for the NeutronNsxRouterMapping table.

Change-Id: I44f3e7de9323f594501db63d3ad33e80e617bfdc
Closes-bug: #1304647
Merge "Add common base class for agent functional tests"
Merge "Add support for router scheduling in Cisco N1kv Plugin"
Merge "BSN: Remove module-level ref to httplib method"
Merge "Clean out namespaces even if we don't delete namespaces"
Merge "Remove duplicated tests for check_ovs_vxlan_version"