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
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
Fix typo in ml2 configuration file

Change-Id: I1d191a2c69d7450584e0ee25a0f5fce237b1c817
Closes-Bug: #1305226
Fixes Hyper-V agent security group ICMP rules

Converts ICMP protocol to the equivalent protocol number.
Adds default ICMP reject rules.
Adds default ANY protocol rules if the rule does not
contain any protocol.

Closes-Bug: #1299159
Change-Id: Iff51a58fdb532eda0fe7a63abf96004ee74bb073
Remove "reuse_existing" from setup method in dhcp.py

This flag is never used, it's always set to True by
DhcpLocalProcess.enable()

Change-Id: Ic30e0f2c97679d5919cc4e4afeb38666a6d41392
Closes-bug: #1305083
Merge "Set correct columns' length"
Update ensure()/reconnect() to catch MessagingError

The error handling code that gets connections reset if necessary
caught ConnectionError. It really needs to catch MessagingError,
which ConnectionError inherits from. There are other types of
MessagingErrors that may occur, such as InternalError, and they need
to cause the connection to reset, as well.

This fix has already been merged into oslo.messaging.

--

Cherry-picked from oslo-incubator 234f64d608266f43d8856ff98c89ceba6699d752
See also https://bugzilla.redhat.com/show_bug.cgi?id=1086077

Closes-bug: #1303890
Change-Id: Ic5082b74a362ded8b35cbc75cf178fe6e0db62d0
Merge "Remove "reuse_existing" from setup method in dhcp.py"
Merge "Fixes Hyper-V agent security group ICMP rules"
Merge "ML2 Cisco Nexus MD: Support portchannel interfaces"
Merge "Update ensure()/reconnect() to catch MessagingError"
Add cookie support to ovs_lib, ovs_neutron_agent

All of the flows on the integration bridge belonging to a vif's
OpenFlow port are removed on port_bound. Since the firewall is invoked
to setup port filters before connectivity is established (i.e. before
port_bound is called) this defeats an OVS-based firewall. To solve
this issue, a distinct cookie on flows that belong to the firewall
and a separate, distinct cookie on flows that belong to the agent
will be used. This will require OVS version 1.5.0+ to delete flows
based on a cookie.

DocImpact: Adds configuration parameter to ovs_neutron_plugin.ini

Change-Id: Ia9b3aa6a383c3465f595725442eca2db05f24a16
Partially-implements: blueprint ovs-firewall-driver