Use six.moves.urllib.parse instead of urlparse

To keep Python 3.x compatibility, use six.moves.urllib.parse to
replace urlparse.

Closes-Bug: #1279611
Change-Id: I712035926f449e1bc5ab1fe85927369b826cb9cc
Embrane Tempest Compliance

This changeset tracks the changes needed by the Embrane's Neutron Plugin
in order to consistently  pass tempest tests.

Changes:

- Some db transactions were too long and were causing lock timeout
exception. Removed useless transactions (waiting on non-db tasks to complete)
to fix the problem.

- The operation filter was useless, and breaking the tests. Most of the
logic which guarantees the appliance correct state when an operation in executed
is now in the internal library used for the heleos APIs.
The filter was therefore removed (as well as the corresponding exception).

- Fixed "sync" mode. The behavior was incorrect due to the queue timeout.
Furthermore, parallel requests were not waiting on the correct thread.

- Added missing methods for floating IPs (not all the scenarios were covered).

- Minor bug fixes caught during the tests.

Change-Id: If081b50b4629158016ba421b94612a4cfac82257
Closes-Bug:1269098
Should specify expect_errors=False for success response

In API unit tests, expect_errors=False should be specified
when expecting 2xx API response.

Closes-Bug: #1282401
Change-Id: Ib2d57aab16f73f234b3cb6ecfeecf2779bf17223
Fix test_db_plugin.test_delete_port

Also add PortNotFound check to test_delete_port_public_network.

Change-Id: Iec461364345b200e2d17ba26a6c5362eec6d93ef
Closes-Bug: #1282946
BigSwitch: Use backend floating IP endpoint

Adds new floating IP REST calls for backend
controllers that support it. Adds backend
capability discovery mechanism.

Implements: blueprint bsn-floating-ip-endpoints
Change-Id: I2301d62a05d256867255865556625603918e84cf
Make metaplugin be used with a router service plugin

"l3_plugin_list" configuration parameter of the metaplugin is permitted
blank now.
If "l3_plugin_list" is blank, router extension and extensions which extend
the router extension don't be included in "supported-extension-aliases" of
the metaplugin.
This makes the metaplugin be able to be used with a router service plugin.
Note that if "l3_plugin_list" is not blank, a router service plugin must
not be specified, otherwise the error of the bug report still occurs.

This patch removes some router extension related meaningless codes also.
(e.g.  external-net extension belongs to L2 functionality and be handled
 by core plugins properly.)

Closes-bug: 1266347
DocImpact

Change-Id: I0454bc0a4bd7eda5dad18b0538fb7baebe0b9f91
Merge "Use six.moves.urllib.parse instead of urlparse"
Rename Neutron core/service plugins for VMware NSX

Short aliases are introduced for the NSX plugin(s). This patch
also switches to using the new plugin names/naming scheme in
the unit tests.

Partial-implements blueprint: nicira-plugin-renaming

Change-Id: If1f1431b098bf77b9c85e0afb3d7848083d9d451
Replace binding:capabilities with binding:vif_details

In addition to binding:vif_type, the neutron core plugin needs to
supply various information to nova's VIF driver, such as VIF security
details and PCI details when SR-IOV is being used. This information is
read-only, requires admin privileges, and is not intended for normal
users. Rather than add separate mechanisms throughout the stack for
each such requirement, the binding:capabilities port attibute, which
is a dictionary and is not currently not used by nova, is renamed to
binding:vif_details to serve as a general-purpose mechanism for
supplying binding-specific details to the VIF driver.

This patch does not remove or replace the CAP_PORT_FILTER boolean
previously used in binding:capabilities. A separate patch should
implement the specific key/value pairs carried by binding:vif_details
to implement VIF security. Another patch will implement the key/value
pairs needed for SR-IOV.

The ML2 plugin now allows the bound mechanism driver to supply the
binding:vif_details dictionary content, instead of just the
CAP_PORT_FILTER boolean previously carried by the binding:capabilities
attribute.

DocImpact: Need to update portbinding extension API, but no impact on
user or administrator documentation.

Implements: blueprint vif-details
Related-Bug: 1112912
Change-Id: I34be746fcfa73c70f72b4f9add8eff3ac88c723f
options: consolidate options definitions

Some config options(interface_driver, use_namespaces) are defined
multiple times in ad-hoc way.  It causes DuplicateOptError exception
when using those module at the same time.  Right now the exception is
avoided in ad-hoc way by each executable.  Those duplicated
definitions should be consolidated and treated in uniformed way.

This is the blocker for blueprint: l3-agent-consolidation

neutron.services.loadbalancer.drivers.haproxy.agent periodic_interval
conflicts with neutron.service one. Since there is no way to fix it
without changing existing behavior/default value, it is untouched for now.

Closes-bug: #1279769
Change-Id: Ifed79b7ee0033644854499416f8a2b22a20416fe
Merge "Make metaplugin be used with a router service plugin"
Merge "Fix test_db_plugin.test_delete_port"
Merge "Should specify expect_errors=False for success response"
Merge "Replace binding:capabilities with binding:vif_details"
Merge "options: consolidate options definitions"
Merge "Rename Neutron core/service plugins for VMware NSX"
Merge "BigSwitch: Use backend floating IP endpoint"
Merge "Embrane Tempest Compliance"