fixes test_kill_pids_in_file conflicts

Fixes Bug: #1231246
Change-Id: Ibedd59d6570cd8d5020e99125c6808d5d2170851
Fix downgrade in migration

In 63afba73813_ovs_tunnelendpoints_id_unique migration mistake in
usage drop_constraint parameter type_ and positional agruments name
and table_name.

Closes-Bug: #1243073

Change-Id: I60cd6e7f18b193b71f8f20759251b9f59a79965a
Apply six for metaclass

__metaclass__ cannot be used in python3.
six be used in general for python 3 compatibility.

Change-Id: Ib0d71b9676dc01390679396443575c05975d3b58
Closes-Bug: #1236648
Added check on plugin.supported_extension_aliases

Added check to neutron.api.extensions.PluginAwareExtensionManager
which raises an exception when an alias in the plugin's
`supported_extension_aliases` list is not found in the set of loaded
extension aliases. If an alias is missing, it means the extension for
that alias has not been loaded, has not been found, and the file is
missing from paths listed in `oslo.config.CONF.api_extensions_path`.

This guards against a common class of bugs in plugins,
such as typographical errors in the `supported_extension_aliases`
property.

Plugin changes:

* bigswitch.plugin: Moves api_extensions_path override to plugin's
__init__ method, similar to other plugins.

* cisco.n1kv.n1kv_neutron_plugin: Removes "policy_profile_binding" and
"network_profile_binding" as they don't exist in Neutron currently.
Removed override of api_extensions_path as it is loaded through
cisco.network_plugin.

* cisco.network_plugin: Renames "Cisco Credential" to "credential".
Adds api_extension_path override to plugin's __init__ method.

* metaplugin.meta_neutron_plugin: Avoids alias of empty string when
cfg.CONF.META.supported_extension_aliases is an empty string.

* midonet.plugin: Fixes regression of 98e16a06 from 715b16ac.

* nec.nec_plugin: Extended override of api_extensions_path to append
nec extensions path to existing configured path.

* nicira.NeutronPlugin: Extended override of api_extensions_path to
append NXP_EXT_PATH to existing configured path.

Fixes: bug 1225080

Change-Id: Idcaade221d83c611fcbd87b503b2c8377d106962
Call _destroy_metadata_proxy from _destroy_router_namespaces

Refactor _spawn/destroy_metadata_proxy so that it can be called
with only the namespace and the router_id.

Change-Id: Id1c33b22c7c3bd35c54a7c9ad419831bfed8746b
Closes-Bug: #1252856
Handle IPAddressGenerationFailure during get_dhcp_port

If a network/subnet is deleted while the dhcp agent is trying
to get/create a dhcp port for that network, the exception
will be raised because no IP Allocation Range is available.

However, this particular failure mode causes just noise, because
the dhcp agent can cope with it without problems.

A follow-up patch will deal with the other exception traces during
create_dhcp_port

Partial-bug: #1253344

Change-Id: I7fe35455ce905daa22ff96367e120864a7d3fb92
Avoid dhcp agent race condition on subnet and network delete

Ensure that ports that are about to be deleted are 'selected
for update'. By doing so, we avoid a race condition between
subnet and network delete operations carried out by two
separate server instances.

A race caused by the dhcp agent deleting the DHCP port
(caused by a subnet-delete event notification) can
still occur and will be addressed in a subsequent patch.

delete_subnet's way to delete ports has been tweaked to
ensure that postgres db can handle the SELECT FOR UPDATE
correctly.

Partial-Bug:1197627

Change-Id: I5bd75a758395a2faeff9db35a03c42dfa8ae0eab
Fwaas can't run in operating system without namespace feature

Adding the check before generating the local_ns_list
to fix the issue.

Change-Id: If8edb5c0bb0fc0fd9aaf48a3441287f99bcdcf13
Closes-Bug: #1252201
Update Zhenguo Niu's mailmap

Using new email address.

Change-Id: I77190d0da0dbd4480ff03bcfe84540292cc81ea3
Send only one agent notification on port update

This patch removes the other redundant notification sent in the same
routine to notify whether a security group changed.

Closes-Bug: #1254924
Partial Blueprint neutron-tempest-parallel

Change-Id: I5bad015decdc197c3fa9b58c680564380d513bc4
Enforce unique constraint on neutron pool members

Neutron loadbalancer pool members should not be allowed to have
duplicate address/port tuples in the same pool.

Change-Id: Ie52c6033217ec05ee4f59bcf8a0e4167c7b13663
Closes-Bug: #1251867
Fix format errors seen in rpc logging

The previous commit for this bug didn't include the 'project_name'
key in the context dict.  The missing key was causing the amqp
module to generate log formatting exceptions instead of normal
log output.

Separately, the context module itself was generating logging
exceptions in the quantum service when logging was attempted
before the context was fully initialized

Change-Id: I0f4c6f5a6804442932c9b2bd409a258cfc2419ff
Closes-Bug: #1254530
Related-Bug: #1239923
Merge "Call _destroy_metadata_proxy from _destroy_router_namespaces"
Merge "Update Zhenguo Niu's mailmap"
Rebind security groups only when they're updated

Update the security port bindings for a port only when they actually
differ from the stored value.

This will also avoid sending port_update notifications to the agent
even if nothing actually changes in the port configuration.

Closes-Bug: #1255183
Partial blueprint: neutron-tempest-parallel

Change-Id: I00c29dc97c46478433fdf08069a884bb78e5cd0a
Merge "fixes test_kill_pids_in_file conflicts"
Mocking ryu plugin notifier in ryu plugin test

Previously RPC notifier is not mocked in ryu plugin test and the
plugin tries to send RPC notifications. It may interact with
impl_fake RPC set up in previous tests by other plugin
and sometimes leads to unexpected ovs-vsctl invoking.

Change-Id: I11714a160faa4d3ded7f312c39afba0b426ccd8a
Closes-Bug: #1255421
Merge "Send only one agent notification on port update"
Merge "Fix format errors seen in rpc logging"
Merge "Mocking ryu plugin notifier in ryu plugin test"