Kevin Benton [Fri, 7 Mar 2014 19:30:45 +0000 (11:30 -0800)]
BigSwitch: Widen range of HTTPExceptions caught
In order to trigger a reconnect, the Big Switch
plugin was only checking for httplib.ImproperConnectionState
which doesn't include relevant exceptions that
indicate a reconnect is necessary. This patch
adjusts it to reconnect on any HTTPException.
Kevin Benton [Mon, 10 Mar 2014 20:49:51 +0000 (20:49 +0000)]
Stop mock patches by default in base test class
Adds a mock.patch.stopall to the base unit test
case cleanup routines to stop patches by default
in unit tests. This behavior can be overwritten
by setting an attribute on the test class if
required.
Also removes the explicit stops in the Cisco n1kv,
VMware, and NEC unit tests to leverage the new
automatic cleanup.
Aaron Rosen [Wed, 5 Mar 2014 19:32:39 +0000 (11:32 -0800)]
Query for port before calling l3plugin.disassociate_floatingips()
The call to l3plugin.disassociate_floatingips() trigggers several events
that could cause a timeout to occur trying to query the db for the port
therefore this patch changes the code to query first for the port.
Paul Michali [Mon, 17 Feb 2014 20:56:22 +0000 (15:56 -0500)]
VPNaaS Device Driver for Cisco CSR
This is the device driver for the vendor specific VPNaaS plugin. This
change relies on the service driver code (review 74144), which is also
out for review.
Note: Support for sharing of IKE/IPSec policies (which is currently
prevented by the service driver code), will be done as a later
enhancement.
Note: Needs Tempest tests updated/created to test this.
Note: To run, this needs an out-of-band Cisco CSR installed and
configured.
Note: This uses a newer version of requests library and a new httmock
library. Until these are approved (75296), the UT will be
renamed to prevent testing the REST client API to the CSR.
Itsuro Oda [Wed, 5 Feb 2014 01:12:26 +0000 (10:12 +0900)]
Call target plugin out of DB transaction in the Metaplugin
Previously, there are cases that a target plugin is called
within a DB transaction in the metaplugin. This possibly causes
"DB lock timeout" error since a target plugin may take a long
time (ex. communicate to a controller).
Itsuro Oda [Thu, 19 Dec 2013 01:51:19 +0000 (10:51 +0900)]
Fix lack of extended port's attributes in Metaplugin
Previously, there are some extended port's attributes did not
appear in the result of GET port API when using Metaplugin.
This become a critial issue currently since lack of port binding
information disturbs normal port binding operation in a compute
node, for example.
Metaplugin did not delegate get_port/get_ports to target plugins.
This is cause of the problem because right plugin instance is not
passed to a hook which handles extended attributes.
Now, get_port/get_ports of target plugins are called so that
extended port's attributes are handled properly.
Add support for tenant-provided NSX gateways devices
Add a new API resource specific to the NSX plugin for registering
tenant-owned NSX gateway devices with the NSX controller.
This API also allows tenants for managing gateway devices on the
NSX backend.
The behaviour of the net-gateway extension is mostly unchanged with
the only difference that newly created network gateways can now only
refer exlusively gateway devices registered using the API resource
introduced with this patch.
Having this at a WARN level makes no sense, especially
because the actually message does not say anything about
a warning condition. Probably a brain fart of some sort.
Make it DEBUG, just because it may come handy to see what
data we're passing.
NSX: Add ability to retry on 503's returned by the controller
There are a number of circumstances where the NSX controller
may return 503. Currently the API client does not retry, so
this patch adds a retry logic with timeout.
ronak [Thu, 6 Mar 2014 19:24:25 +0000 (11:24 -0800)]
Nuage plugin was missed in floatingip_status db migration script
The fix for bug 1287630 did not include the the Nuage plugin
in those affected by the migration.
Nuage CI started failing floatingip tests since than
reporting unknown column error.
This bug fix is to add nuage plugin to the list.
The resource alias is unchanged so there is really
no reason of dragging this forward.
If API clients are using the name or the description
in order to play with a server's extension they are
doing it wrong so they deserve the grief caused
by this change.
When using a cluster of load-balanced Neutron Servers,
the order of extension files being loaded may differ
from one server to another. This is usually harmless,
but it is better to force the list to be loaded in the
same way across the entire cluster, just in case
something funky is going on.
Hemanth Ravi [Mon, 27 Jan 2014 00:51:06 +0000 (16:51 -0800)]
One Convergence Neutron Plugin Implementation
One Convergence Neutron Plugin implements Neutron API to provide a network
virtualization solution. The plugin works with One Convergence NVSD controller
to provide the functionality. This checkin implements the Neutron core APIs
and the plugin will be extended to support the L3 and service plugin extension
APIs.
Akihiro Motoki [Sat, 1 Mar 2014 22:07:34 +0000 (07:07 +0900)]
NEC plugin: delete old OFC ID mapping tables
Before Grizzly release, data format of OFC ID mapping tables was changed
and there are two types of ID mapping tables for old and new format.
This commit migrate data from old mapping tables into new tables,
drop old mapping tables and remove the logic handling the old tables.
In the db migration scripts, built-in compiler of sqlalchemy does not
support "INSERT INTO table (col1, col2,...) (SELECT ....)" format,
so a custom sqlalchemy.expression compiling method is defined.
Itsuro Oda [Tue, 24 Dec 2013 03:27:53 +0000 (12:27 +0900)]
Enhance GET networks performance of metaplugin
Change to call plugin.get_networks() per target plugin
instead of calling plugin.get_network() per network.
Hook routines are used to select networks which belong
the target plugin.
Kevin Benton [Mon, 3 Feb 2014 04:46:18 +0000 (20:46 -0800)]
BigSwitch: Add SSL Certificate Validation
This patch adds the option to use SSL certificate
validation on the backend controller using SSH-style
sticky authentication, individual trusted
certificates, and/or certificate authorities.
Also adds caching of connections to deal with
increased overhead of TLS/SSL handshake.
Kevin Benton [Fri, 14 Feb 2014 10:07:29 +0000 (10:07 +0000)]
BigSwitch: Auto re-sync on backend inconsistencies
If the controller supports it, pass a hash to the
controller indicating the expected state that a
REST transaction is updating. If the state is
inconsistent, the controller will return an error
indicating a conflict and the plugin/driver will
trigger a full synchronization.
For controllers that don't support the consistency
hash, trigger a full background synchronization
if the plugin tries to create a port and receives
a 404 error due to the parent network not existing.
Paul Michali [Tue, 4 Mar 2014 01:08:50 +0000 (01:08 +0000)]
VPNaaS Service Driver for Cisco CSR
This has the service driver part of the vendor specific VPNaaS plugin.
This version DOES NOT rely on the Service Type Framework code, which is
presently under review (client 53602, server 41827) and on hold due to
discussion over flavors. As a result, this changeset has modifications
so that the service driver is not hard-coded in the VPN plugin.
The device driver will be under a separate review and has the REST
client that talks to the Cisco CSR (running out-of-band).
Note: See review 74156 for more details on device driver portion of
this blueprint.
Kyle Mestery [Tue, 28 Jan 2014 20:46:34 +0000 (20:46 +0000)]
Add OpenDaylight ML2 MechanismDriver
This commit adds support for OpenDaylight as an ML2 MechanismDriver. The
ODL MechanismDriver does not need an agent since ODL itself handles
programming bridges, tunnels, and ports on the host.