Trigger provider security group update for RA

For IPv6 subnets, router RA rule is added to compute node
to allow VM to accept RA from router interface on network node.
However, currently this is only done when router port which
sends RA is created *before* VM port is created.

This fix triggers provider security group rule update for IPv6 subnet
when router interface port is created or updated.

Change-Id: I7d950f12909a0c2a82b129279e6249b9fac80112
Closes-Bug: 1290252
Fix example for running individual tests

The ':' syntax doesn't seem to work anymore. Additionally fix the "tox" call to
not try to run it from the current working directory. It's usually installed
somewhere in $PATH.

Closes-Bug: #1334134
Change-Id: Ie608cee2ac131941d6642e2560a84db55415654b
NSX: properly handle floating ip status

Ensure the floating IP status is put ACTIVE or DOWN when it
is associated or disassociated.
This is done directly on the plugin class as the NSX backend
applies relevant NAT rules synchronously.

Change-Id: Ie747c4eae2ac33016fdabaade2335f7d2d24eec9
Closes-Bug: #1334708
Merge "Trigger provider security group update for RA"
Avoid notifying while inside transaction opened in delete_port()

delete_port() calls to disassociate_floatingips() while in transaction.
The latter method sends RPC notification which may result in eventlet
yield. If yield switches a thread to another one that tries to access
the same floating IP object in db as disassociate_floatingips() method
does, we're locked and get db timeout.

We should avoid calling to notifier while under transaction.

To achieve this, I introduce a do_notify argument that controls whether
notification is done by disassociate_floatingips() itself or delegated
to caller. Callers that call to disassociate_floatingips() from under
transactions should handle notifications on their own. For this,
disassociate_floatingips() returns a set of routers that require
notification.

Updated drivers to reflect new behaviour. Added unit test.

Change-Id: I2411f2aa778ea088be416d062c4816c16f49d2bf
Closes-Bug: 1330955
VPNaaS REST Client UT Broken

When the H302 work was done, it broke two modules used for UT of
Cisco CSR VPNaaS REST client. Since the UT is currently disabled
(because the httmock library was not approved for test-requirements),
the error was not detected.

This fixes the files, so that they can still be used manually (by
locally importing httmock or its source file, and renaming the
module to remove the "_" prefix).

In the long term, the UT needs to be reworked to use httpretty,
which uses a register based mechanism, instead of a context
manager based mechanism, so this will take some effort. In addition.
there is discussion of switching to a new mock-request package,
instead of httpretty.

Change-Id: I8badc249ad021fdbdb2367b5416c72435ed58994
Closes-Bug: 1335977
Closes-Bug: 1326785
Merge "Fix example for running individual tests"
Merge "VPNaaS REST Client UT Broken"
Merge "NSX: properly handle floating ip status"
Merge "Avoid notifying while inside transaction opened in delete_port()"
Implementation of LBaaS Version 2

Added alembic migrations that add new tables for the new object model.
Added new loadbalancingv2 extension.
Added new LoadBalancerPluginv2 class to plugin.py module and unit tests.
Added new loadbalancer_dbv2.py module and unit tests.
Added shim layer to translate new plugin to old style driver and vice versa.

Change-Id: I43270fdf9cd52a57274575ecea502f660ff0d5a9
Co-authored-by: Brandon Logan <brandon.logan@rackspace.com>
Co-authored-by: Vijay Venkatachalam <Vijay.Venkatachalam@citrix.com>
Co-authored-by: Craig Tracey <Craig.Tracey@gmail.com>
Co-authored-by: Phillip Toohill <phillip.toohill@rackspace.com>
Co-authored-by: Dustin Lundquist <dustin@null-ptr.net>
Implements: blueprint lbaas-api-and-objmodel-improvement