Revert "Deletes floating ip related connection states"

This reverts commit 3a30d19e4e2e5bf4f54045561158661b43beecb3.

The change pulled in a new runtime dependency on conntrack-tools
that was not present in previous Icehouse releases. Leaving the
patch applied in the branch means that all distributions are
either forced to ship the new package and its dependencies in
their repositories, or patch out the fix. Also, running
conntrack in network namespaces can be problematic on some of
platforms with old kernels (like RHEL6).

Change-Id: I0cb896d5bef9982cb862a195ec4010f62bded39c
Set vif_details to reflect enable_security_group

While plugging vif, VIFDriver in Nova follows "ovs_hybrid_plug" and
"port_filter" in "binding:vif_detail" which is passed from Neutron, but
those are always true.  This patch make ML2 OVS mech driver set those
param depends on enable_security_group flag.  It enables users to avoid
ovs_hybrid plugging.

This patch also fixes the same issue in the following plugins/drivers:
  * NEC Plugin
  * BigSwitch Plugin
  * Ryu Plugin
  * ML2 Plugin - OFAgent Mech Driver

Conflicts:
	neutron/tests/unit/ml2/drivers/test_ofagent_mech.py

Closes-Bug: #1336624
Change-Id: I2b7fb526a6f1b730ad65289307b24fd28b996e1b
(cherry picked from commit e73f8da072cb41559ecee7f29f864a10db475444)
allow delete_port to work when there are multiple floating ips

It is possible to associate multiple floating ip addresses with a single
port through the use of multiple *fixed* ip addresses, e.g.:

    nova boot ... --nic net-id=my-net-id myserver
    nova add-fixed-ip myserver my-net-id
    nova add-floating-ip --fixed-address x.x.x.1 myserver y.y.y.y.1
    nova add-floating-ip --fixed-address x.x.x.2 myserver y.y.y.y.2

In this situation, neutron.db.l3_db.disassociate_floatingips would throw
an exception:

    Exception: Multiple floating IPs found for port <port-id>

This would prevent someone from deleting an instance that was associated
with multiple floating ips.

This patch corrects disassociate_floatingips so that it will
disassociate all floating ips associated with the port, allowing the
delete operation to proceed correctly.

Conflicts:
	neutron/db/l3_db.py

Change-Id: I68a2131fa8ee80828354c9db4ac405c3f77c3b90
Closes-bug: 1302701
(cherry picked from commit bad87ce76ad27f2a4b3c72e26e2eccc2c9564b85)
Enabled Cisco ML2 driver to use new upstream ncclient

The code is still able to handle the old, custom ncclient that
we used before. It uses the different function signatures
for the ncclient's connect() function to detect which version
is installed.

Change-Id: I09d81b424d86f4cd35ca048507f06471246b91d8
Closes-Bug: 1352635
(cherry picked from commit 74c99fb40d4621c6c0915764537dfb54cc6519ca)
Merge "Revert "Deletes floating ip related connection states"" into stable/icehouse
Merge "allow delete_port to work when there are multiple floating ips" into stable/icehouse
Merge "Set vif_details to reflect enable_security_group" into stable/icehouse
Merge "Enabled Cisco ML2 driver to use new upstream ncclient" into stable/icehouse
fix event_send for re-assign floating ip

Neutron can associate a floating ip to a new port
without disassociate from original instance port.
This situation will send network changed event only
for new instance port, and that event object contains
the new instance's id.

In this case nova will update new instance's info
but not original one's in nova's database table
instance_info_caches. For nova can get new instance's
id from the above event. So in table instance_info_caches,
both original instance and new instance will have the
same floating ip in their records. And this make it
possible that, in most situation, after your re-assign
floating ip, run "nova list" will return incorrect info,
multiple instances have a same floating ip, and this may
confuse users.

Nova will sync data in table instance_info_caches, but it
may take dozens of seconds.
The new added code will send network changed event for the
original instance, and this will make nova update instance_
_info_caches table in a few seconds.

Change-Id: If3ee11535f649fc51bf1a52806008c1c5c0e73b6
Closes-Bug: 1381886
(cherry picked from commit add8944d4dba2a69e8f7da47f120d5dc63952f77)