ML2 Cisco Nexus MD: VM migration support

Add VM (live) migration support to the ML2 cisco nexus mechanism driver.

Change-Id: I8be2fc1f020ef1fc6c19daba0a9e278629046016
Closes-Bug: #1247976
Log dnsmasq host file generation

We've been seeing things that appear to be races between the hosts
files being written out for dnsmasq and dhcp requests coming in.  We
will get occasional errors from dnsmasq saying "no address available",
"duplicate IP address" but by the time you look, the corresponding
host file has long since been replaced.

If we had some debugging like this, we could at least correlate what
neutron thought dnsmasq knew at the time the requests were coming in.

We store the filename to avoid multiple lookups, and also
s/name/filename/ to avoid ambiguity and be more consistent with the
rest of the code.

Closes-Bug: #1294892
Change-Id: Ifa92ca71419ce0155b28d2015eff9e82557a0825
Return meaningful error message on pool creation error

Instead of returning exception specific to haproxy (agent-based),
return more generic BackendNotFound exception.
It also could be used later when binding to devices will be
introduced. That exception will indicate scheduling failure, e.g.
inability to find appropriate backend for the resource.
Resource (pool) is then marked with ERROR state with corresponding
error description.

Change-Id: Ic18ff20102b4bb2b97e7b186fcf797133bd3ba3d
Closes-Bug: #1295214
NEC plugin: Rename quantum_id column to neutron_id

ID mapping tables in NEC plugin had columns named quantum_id.
This commit renames them to neutron following project renaming.

Closes-Bug: #1287432
Change-Id: I0669defba7189d5b8259365d88d67db51a28c764
Add nec plugin to allowed address pairs migration

Change-Id: I2a6488482abacf87fc27fb3211041d81a4c1c047
Closes-Bug: #1295999
Add enable_security_group to BigSwitch and OneConvergence ini files

It is a follow up patch for https://review.openstack.org/#/c/67281/.

Change-Id: I38463b3879ab2d7469a85ef00426b2b602fa825a
Closes-Bug: #1296000
Remove extra space in help string

Extra spaces make the openstack-manuals tests fail with a niceness
error. This patch removes an extra space at the end of a help string.

Change-Id: I29bab90ea5a6f648c4539c7cd20cd9b2b63055c2
Merge "ML2 Cisco Nexus MD: VM migration support"
Merge "Return meaningful error message on pool creation error"
Merge "Log dnsmasq host file generation"
Merge "Remove extra space in help string"
Add script to migrate ovs or lb db to ml2 db

This script migrates an ovs or lb database to work with ml2.
The script's docstring provides details as to how it is intended to
work.

I've tested this manually on a trivial deployment, and would like
to add support for testing the migration with grenade.  However,
that will have to wait until grenade support for neutron has
merged.

DocImpact

Implements: blueprint ml2-deprecated-plugin-migration

Change-Id: I1eb908c866e19f72e61f687d56a0bc391cdb4760
Merge "NEC plugin: Rename quantum_id column to neutron_id"
Merge "Add nec plugin to allowed address pairs migration"
Merge "Add script to migrate ovs or lb db to ml2 db"
Replace a usage of the deprecated root_helper option

This change replaces a usage of the deprecated root_helper option
by the usage of get_root_helper result.

Change-Id: Icfc698243784557cbf987a817c13d0b80969e5d3
Closes-Bug: #1297145
ML2 Cisco Nexus MD: Remove workaround for bug 1276395

Before bug 1276395 was merged the delete_port_postcommit() mechanism
drivers did not have access to the bound_segment information that was
in the process of being deleted.
Code was added to the cisco_nexus md to workaround this issue.
This code can now be removed.

Change-Id: If47ef1958bf4de863995b9cfc042abf5bc849e24
Closes-Bug: 1297321
Merge "Add enable_security_group to BigSwitch and OneConvergence ini files"
Merge "ML2 Cisco Nexus MD: Remove workaround for bug 1276395"
Merge "Replace a usage of the deprecated root_helper option"