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.
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.
Aaron Rosen [Mon, 3 Mar 2014 23:15:08 +0000 (15:15 -0800)]
NSX: passing wrong security_group id mapping to nsx backend
When the async secgroup work was added the update_port() code was not changed
to pass in the nsx security_group uuids. This patch fixes that so that the
nsx uuids are passed in instead of neutron.
Carl Baldwin [Thu, 16 Jan 2014 21:12:23 +0000 (21:12 +0000)]
Avoid unnecessarily checking the existence of a device
Plugging a device usually involves checking for the existence of the
device twice, once before calling plug and once after. It turns out
that these calls are expensive, often taking a half second or more
each. For that reason, it is worth the effort to make sure we check
only once.
The device driver is now responsible for cleanly plugging/unplugging
the device without knowing whether it exists or not. Pushing this
responsibility to the device driver allows implementing it more
efficiently in terms of calls made out to the operating system.
This is targetted at the neutron-tempest-parallel bp because it shaves
time off the time to set up a router, something that hinders parallel
performance.
Carl Baldwin [Tue, 4 Mar 2014 04:24:55 +0000 (04:24 +0000)]
Refactor netns.execute so that it is not necessary to check namespace
I saw some code in a couple of reviews today that check whether a
namespace is set and run it under "ip netns exec ..." if it is.
Otherwise, it runs the command without it in the default namespace.
Claudiu Belu [Mon, 17 Feb 2014 00:17:20 +0000 (16:17 -0800)]
Minor refactoring for Hyper-V utils and tests
A separate commit in the blueprint addressed by this patch
introduces the "_filter_acls" and "_create_acl" methods
which can be used in "enable_port_metrics_collection"
as well to reduce code duplication.
This commit eliminates also some code duplication
in test_hyperv_utilsv2.py.
Ann Kamyshnikova [Thu, 27 Feb 2014 12:27:40 +0000 (16:27 +0400)]
Different class names for VPNaaS migrations
In migrations 52ff27f7567a_support_for_vpnaas.py and
338d7508968c_vpnaas_peer_address_.py different class names are set:
neutron.services.vpn.plugin.VPNDriverPlugin and ne
utron.services.vpn.plugin.VPNPlugin.
Aaron Rosen [Fri, 28 Feb 2014 06:26:30 +0000 (22:26 -0800)]
ML2: database needs to be initalized after drivers loaded
Previously, if you started neutron-server with an empty database some
of the tables that drivers use are not automatically created. That said,
one should probably run neutron-db-manage manually to create the tables
and not rely on neutron to do this. This regression was cause in 326b85.
Change-Id: I2c578733de0213945b31fba86a3b0ea45c02295a
Closes-bug: #1285993 Co-Authored-By: Itsuro Oda <oda@valinux.co.jp>
Akihiro MOTOKI [Wed, 23 Oct 2013 04:40:53 +0000 (13:40 +0900)]
NEC plugin: PFC packet fitler support
It also enhances the following points of packet filter code:
- Allow to clear filter fields to wildcard by specifying None
in PUT method
- Return None for wildcard fields in an API response
- Determine eth_type based on protocol field on DB layer
- Support OFC driver-specific API validation and update support
- Refactor packet filter code and better validations
Aaron Rosen [Wed, 26 Feb 2014 18:26:20 +0000 (10:26 -0800)]
NSX: make sync backend run more often
This patch bumps the state_sync_interval from 120 seconds to 10 seconds
so that resource's operation status are synced to the db quicker. This cuts
the amount of time that tempest takes to run by half.
Ivar Lazzaro [Mon, 3 Mar 2014 19:29:17 +0000 (11:29 -0800)]
Embrane Plugin fails alembic migrations
Alembic migration from revision f44ab9871cd6 to 2eeaf963a447 is failing on
Embrane Plugin because the floatingips table doesn't exist.
The problem happens because the plugin is actually inheriting from OVS's Plugin,
and therefore it doesn't take part of the correct migration path at installation time.
As far as I have investigated, adding the support on ext_gw_mode and l3_support is enough to solve the problem.