Change nexus_dict to accept port lists

When users configured a server to have two logical connections to a
single switch, the nexus driver would never know about the second
connection because the nexus_dict stored the interface as a single
value, which would just get overwritten.  This has been fixed by
allowing the port value to be a comma seperated list.  All
operations on ports have been update to loop over multiple ports
per switch. New test added for host with dual connections to one
switch.

Change-Id: Iefb30452083747b45496600c81f8d0a6f378bd08
Closes-Bug: 1288393
Add config for visibility of cisco-policy-profile

This change adds a configuration option to cisco_plugin.ini to control the
visibility of cisco-policy-profile among tenants. The default is false or
unrestricted, so all tenants can view all policy profiles. If the option
is set to true, tenants can only view policy profiles that are assigned
to that tenant. The admin user can always view all policy profiles. This
was implemented by adding a check of the configuration option in
get_policy_profiles().

Change-Id: I5d77544d75366d39714def971eb949cfdc40023e
Implements: blueprint cisco-policy-profile-visibility
Increase ovsdb_monitor.SimpleInterfaceMonitor start timeout

The current timeout fails during functional testing with
slightly higher load. Increasing it will lower the timeout
chances during high load conditions. Changed from 5 seconds
to respawn_interval/2. DEFAULT_OVSDBMON_RESPAWN = 30 , so
the default timeout will be 15 seconds.

Change-Id: I6a9e2977b275e96dcf01c4df90a33169c42287d6
Closes-Bug: #1358206
Refactor test_type_gre/vxlan to reduce duplicate code

gre and vxlan type drivers have similar implementation for multiple
methods and associated tests. This change abstracts these tests.

Change-Id: Ic0e2119a81540c509c214008cce9dc50f55dd6de
Heal script: Drop fks before operating on columns

This patch fixes a small glitch in the healing script.
If the script detects that a foreign key must be removed,
and the columns that it references must be removed as well,
then the foreign key removal would fail as the column would
not exist anymore.

This patch simply ensures foreign key are dropped before all
the remaining table/column operations. New foreign keys are
instead added after all table/column operations are completed.

Change-Id: I3cce742146c70b71900cf53e50f9a6a61bc6a378
Closes-Bug: # 1354188
Adding support of DNS nameserver and Host routes for the Nuage Plugin

This commit will implement the following DHCP options:
 - DNS nameserver
 - Host routes

Implements: blueprint dhcp-host-routes-and-dns-support-for-nuage-plugin
Change-Id: Idbb04f46112cddd588cad88921210aa0f63645f6
Make DhcpRpcCallback a separate callback class

RPC has a version of itself. In Neutron a plugin implements
several RPC interface, so a single RPC version doesn't work.
In Mixin callback class approach, RPC versioning depends on
each plugin implementation and it makes harder to maintain
RPC version appropriately. This patch series replaces mixin
RPC callback of server side with a separate class.

This commit handles server-side callback of dhcp-agent RPC interface.
DHCP-agent server-side callback class is moved from db/ to
api/rpc/handlers because it doesn't involve any db operations
and defining all RPC interfaces in a single place sounds reasonable.

Note that moving other DHCP-agent related RPC interface class
to api/rpc/handlers can be done in a separate patch as this patch
focuses on reorganizing the server-side RPC callback class.

Partial-Bug: #1359416
Change-Id: Ifb2a1bc0b7971995aae2856c9d4cd88c6dbc22d6
Make DvrServerRpcCallback a separate callback class

RPC has a version of itself. In Neutron a plugin implements
several RPC interface, so a single RPC version doesn't work.
In Mixin callback class approach, RPC versioning depends on
each plugin implementation and it makes harder to maintain
RPC version appropriately. This patch series replaces mixin
RPC callback of server side with a separate class.

This commit handles server-side callback of DVR ML2 RPC interface.

Partial-Bug: #1359416
Change-Id: I1b6383f7b0af5d9aed18eda3a15f21d3504d0347
Apic drivers enhancements (second approach): Backend

- Move backend facing modules to a library

Implements blueprint: apic-driver-enhancements

Change-Id: Ia4553d3885ca1886ca6bc7ea5d96afeace5fc457
Merge "Adding support of DNS nameserver and Host routes for the Nuage Plugin"
Merge "Make DhcpRpcCallback a separate callback class"
Merge "Add config for visibility of cisco-policy-profile"
Merge "Refactor test_type_gre/vxlan to reduce duplicate code"
Merge "Apic drivers enhancements (second approach): Backend"
Merge "Change nexus_dict to accept port lists"
Merge "Increase ovsdb_monitor.SimpleInterfaceMonitor start timeout"
Merge "Heal script: Drop fks before operating on columns"
Merge "Make DvrServerRpcCallback a separate callback class"