Bigswitch was not correctly creating the bigswitch/ssl/ca_certs and
host_certs directories when running the setup.py install step. This
makes it difficult to correctly package the plugin because it has
missing files/directories.
Fixes bug 1358982
Change-Id: I78c6e96887340ea90494ed9e109b3b7fda6653c9
Adds Opencontrail plug-in implementation with unit tests
This patch has no dependency on any other blueprints
The link below describes how to install VIF driver for opencontrail
https://github.com/Juniper/contrail-controller/wiki/
OpenContrail-bring-up-and-provisioning
- The contrail_plugin_core.py is the main interface for neutron common
infrastructure. It relays API requests to the opencontrail controller
DocImpact
Change-Id: I501bf669b2a999a171f9a3ee3e9893d4ead50e3b
Implements: blueprint juniper-plugin-with-extensions
No sample .ini file is included, causing install to fail.
Remove the reference for now.
Change-Id: I6dc88062cfd47ecee7ca9fc4e6ba64ce65d8ef07
Closes-bug: #1351466
A generic config agent for configuring L3+ services in Cisco devices.
This patch targets specifically configuration of L3 fuctionality,
namely routing, NAT and floatingIPs in Cisco CSR1kv virtual appliance.
Implements blueprint: cisco-config-agent
https://blueprints.launchpad.net/neutron/+spec/cisco-config-agent
Change-Id: Ic887a93480eca0b56049c67e32c98658e3a4427f
This set of changes introduces SRIOV NIC Agent to run with
ML2 mechanism driver for SR-IOV capable NIC based switching.
This is the second part of a 2 part commit.
The review is submitted in two parts:
- Part 1
The Mechanism Driver to support port binding for SR-IOV virtual
functions of SRIOV capable switching NICs.
- Part2 (this part)
The SRIOV NIC Based L2 Agent.
Use configurable list of mappings physical_networks to PF
interfaces and configurable list of mappings PF interfaces
to list of excluded VFs to get list of Virtual Functions that agent should manage.
Current implementation supports admin state updates.
Co-authored-by: Samer Deeb <samerd@mellanox.com>
Partially implements: blueprint ml2-sriov-nic-switch
Change-Id: I533ccee067935326d5837f90ba321a962e8dc2a6
This name change of directroy is needed so that additional drivers
can be moved into this directory and share the code among drivers.
In order to accomodate this name change, setup.cfg is modified to
point to the Arista ML2 driver at the new location. Additionally,
a similar new directroy is created for test files as well.
Change-Id: I614ccf8b6d152aa99e20ef1ea762c26115ab9373
closes-bug: 1346712
This set of changes introduces the ML2 mechanism driver for SR-IOV capable NIC based switching.
Please see the blueprint for more information.
The review is submitted in two parts:
- Part 1 (this part)
The Mechanism Driver to support port binding for SR-IOV virtual functions of
SRIOV capable switching NICs, such as Mellanox ConnectX Family.
Use configurable list of supported NIC vendor and product PCI ids to filter
devices to bind the SR-IOV port.
Use configurable agent_required option to require SRIOV L2 Agent
for bort binding.
- Part2
The SRIOV NIC Based L2 Agent.
Partially implements: blueprint ml2-sriov-nic-switch
Change-Id: If3d28df2a8ffe72ae512ddae076f42fca936cff7
the recent oslo.messaging transition broke ofagent.
this commit fixes the regression.
historically the main module of ofagent has been maintained
in ryu's repository. this commit moves it into neutron's
repository and add common_config.init() call which is necesary
for the new rpc code.
Closes-Bug: #1332478
Change-Id: Icf215b20cd84ef44b51439e55b1815d72041ba3f
Now that all preparations are done, actually port the code to use
oslo.messaging. This patch does as little as possible. Follow up patches
that refactor and cleanup the code and configuration files, will be
merged later. The reason for this is to make the patch as slim as
possible, to make review process more smooth and concentrated.
Details:
* neutron/common/rpc.py:
- added init() and cleanup() to set global RPC layer state.
- added utility functions: get_server(), get_client(), get_notifier()
that wrap up oslo.messaging API a bit, enforcing eventlet executor
and setting serializer, among other things.
- removed PluginRpcDispatcher, instead introduced PluginRpcSerializer
to use as a default serializer for API callbacks.
* neutron/common/rpc_compat.py:
- emulated incubator RPC layer behaviour thru previously introduced
stub classes (RpcCallback, RpcProxy, ...) using new oslo.messaging
API.
- switched to using new oslo.messaging exception types.
* neutron/service.py:
- expect multiple RPC listeners that are of MessageHandlingServer
type, not GreenThread.
* neutron/common/config.py:
- initialize RPC layer in init()
* setup.cfg:
- added entry points for old notifier drivers to retain backward
compatibility.
* neutron/tests/...:
- introduced fake_notifier to replace impl_fake.
- faked out consume_in_thread() to avoid starting RPC listeners when
running unit tests.
- used 'fake' transport driver.
- made sure neutron.test.* exceptions are caught.
- initialize and clean up RPC layer for each test case.
* Ported all affected code from using neutron.openstack.common.notifier
API to oslo.messaging.Notifier.
* rpc.set_defaults() was renamed to rpc.set_transport_defaults()
* other changes not worth mentioning here.
blueprint oslo-messaging
DocImpact
Change-Id: I5a91c34df6e300f2dc46217b1b16352fcc3039fc
Some plugins miss short symbolic name in setup.cfg, specifically Nuage
and Metaplugin.
Change-Id: I0198ae98654bbdddf8f2ba8dd3b80d0d447d6341
Closes-Bug: 1324487
The current method of checking openvswitch and kernel versions for
specific feature support is brittle, distro-specific and unsupportable.
This patch removes the runtime version checks and implements a test
script which allows testing specific neutron features or can test
that all features required by a specific configuration are available.
For example, to test VXLAN support in openvswitch, either:
neutron-sanity-check --ovs_vxlan
or pass in the deployed configuration files with AGENT/tunnel_types
containing 'vxlan', like:
neutron-sanity-check --config-file /etc/neutron/plugins/ml2.conf.ini
Deployment tools can then test that the required features exist without
relying on version numbers and without incurring a penalty every time
the agent is started.
Implements: blueprint remove-openvswitch-version-check
DocImpact
Change-Id: I5e822d97b9bece9242ba5ac8901aa0ca4f090cfe
Some plugin .ini configuration files were missing and hence not
installed via 'setup.py install'.
Change-Id: I31f096e7fbf9f7a182ba8535ca8cadc4fecc6632
Partial-Bug: 1324487
This set of changes introduces a mechanism driver for the
Cisco APIC. This is the second and final part of a 2 part commit.
Please see the blueprint for more information.
The review is submitted in two parts:
- Part 1 (Posted earlier, required for Part 2)
o APIC REST Client
o APIC data model and migration script
o APIC configurations
- Part 2 (this commit)
o APIC mechanism driver
o APIC manager
Partially implements: blueprint ml2-cisco-apic-mechanism-driver
Change-Id: I5ed3ac133146635083e2d0093057b43b64f347fe
These were kept for bw compatibility in Icehouse, but
these are removed in Juno.
The king is dead, long live the king!
DocImpact
Blueprint: nicira-plugin-renaming
Change-Id: I49d19fec90ba191ed5b895fac8a884070f52119e
Bump preversion to 2014.2 to formally open Juno development.
The Icehouse release branch (milestone-proposed) will be cut
from the last commit before this one.
Change-Id: I0af1ee46e65149eb19731491242ddc2fdccd7a2e
Adding support for l3 extensions and security-groups.
Change-Id: I7007dba1cc8f73496a2a40099581d07ae697520a
Implements: blueprint oc-nvsd-neutron-plugin
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.
Change-Id: Ic8a0dc0f5950d41b9b253c0d61b6812dbfd161c7
Implements: blueprint oc-nvsd-neutron-plugin
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.
Default is now sticky-style enforcement.
Partial-Bug: 1188189
Implements: blueprint bsn-certificate-enforcement
Change-Id: If0bab196495c4944a53e0e394c956cca36269883
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.
Implements bp ml2-opendaylight-mechanism-driver
Change-Id: Ic1612cd3e8efd39e74a7ed8cff28e91b1f388971
This commit adds support for currently provided Mellanox Plugin
embedded switch functionality as part of the VPI (Ethernet/InfiniBand)
HCA as an ML2 MechanismDriver.
MechanismDriver adds support for VNIC_DIRECT and VNIC_MACVTAP vnic types.
MechanismDriver provides configurable default vif_type for neutron port created
with default VNIC_NORMAL vnic type till nova api support for vnic_type is available.
Implements blueprint mlnx-ml2-support
Change-Id: I16ad318f095b7af879e1b99dcc7f5f9e92facd2b
This adds ML2 mechanism driver controlling OpenFlow switches
and an agent using Ryu as OpenFlow Python library.
- An agent acts as an OpenFlow controller on each compute nodes.
- OpenFlow 1.3 (vendor agnostic unlike OVS extensions).
Implements: blueprint ryu-ml2-driver
Change-Id: I6a8168d24f911996639179d91c4da49151751057
Old names are kept for backward compatibility.
Last references to the old NVP plugins are going
to be dropped in Juno.
Completes blueprint nicira-plugin-renaming
Change-Id: Ia1aa4f658891e7ce9469748432c338353195edfd
Adds a BigSwitch Agent responsible for supporting
neutron security groups on the compute node. Adds
the mixin classes to the plugin to support the
security group calls.
Implements: blueprint bsn-neutron-sec-groups
Change-Id: I3a09888a3ba7d565c2dce8293821919c1e5d0d15
It adds a new plugin for SDN-VE, the IBM SDN
controller. The plugin supports the core API
and the port binding and L3 extensions.
Implements: blueprint ibm-sdn-ve-plugin
DocImpact
Change-Id: I92619a95bca2ae0c37e7fdd39da30119b43d1ad6
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
This is feature patch (3 of 3) that introduces support for
transitioning existing NSX-based deployments from the agent
based model of providing dhcp and metadata proxy services
to the new agentless based mode. In 'combined' mode, existing
networks will still be served by the existing infrastructure,
whereas new networks will be served by the new infrastructure.
Networks may be migrated to the model using a new CLI tool
provided, called 'neutron-nsx-manage'. Currently the tool
provides two admin-only commands:
neutron-nsx-manage net-report <net-id-or-name>
This will check that the network can be migrated and returns
the resources currently in use. And:
neutron-nsx-manage net-migrate <net-id-or-name>
This will move the network over the new model and deallocate
resources from the agent. Once a network has been migrated
there is no turning back.
Completes-blueprint nsx-integrated-services
Change-Id: I37c9aa0e76124e1023899106406de7be6714c24d
Replace agent based driver files from haproxy driver dir
Same for unit tests files
Finalizes blueprint lbaas-common-agent-driver
Change-Id: Ibff85a9c2e1f1c59d72616836d56a697dce72c59
Code tree reorganization in preparation for ML2 mechanism drivers for
other cisco products. The cisco nexus ML2 mechanism driver and its
test cases need to move down into their own subdirectory.
Closes-bug: #1277222
Change-Id: I2ba366332276069545b3deb0bbd39016a893327b
Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI version
and publish that to PyPI (by whatever means).
Change-Id: Ibca65044d61d4b9b248013e4fe316f3c1a05f764
Remove rootwrap code copied from oslo-incubator, make the
{neutron,quantum}-rootwrap console_script entrypoints point to
oslo.rootwrap code instead.
Adjust bin/{neutron,quantum}-rootwrap[-xen-dom0] so that it calls
into oslo.rootwrap.cmd.
Change-Id: I22df4060d6bca6affd7761fec49d2767ca8f59cf
Implements: blueprint neutron-oslo-rootwrap
Refactors Bigswitch/Restproxy plugin by separating into
reusable libraries that can be used by the plugin as well
as the ml2 driver to proxy calls to the backend controller.
Enables basic unit tests for the ML2 driver.
Removes deprecated separate unplug/plug operations on ports.
Implements: blueprint bigswitch-ml2-driver
Change-Id: I4e22ba7e20ec4f405b9fd34a1bf08a48544f317d
Changes the ML2 plugin bulk support flag to
be based on the bulk support of the underlying
drivers.
Closes-Bug: #1272490
Change-Id: I28281c9ecc1696b929c7e0125d02a37946948744
To configure core plugin or service plugins, instead of using class names,
simpler names can also be used, ex:
service_plugins = router, firewall, lbaas
For compatibility with previous versions, the class name of a plugin can be
specified instead of its entrypoint name, ex:
service_plugins = router, neutron.services.firewall.fwaas_plugin.FirewallPlugin, lbaas
DocImpact
Implements: blueprint config-plugin-by-name
Change-Id: Ia4aaa1d305b160a4d6dab9e227c744727a4c78c2
- Every config item prefixed with nvp is prefixed with nsx
- deprecation qualifiers are added to preserve bw compatibility
- nicira/nvp.ini is renamed to vmware/nsx.ini
- symlink nicira/nvp.ini is created to point to vmware/nsx.ini
- UT added to verify that nvp.ini and old config items can still
parsed correctly; bw-compat will be dropped in Juno
Partial-implements blueprint nicira-plugin-renaming
Change-Id: I676b868e61064cc5ff17e2246e83ba5c5e4a3449
Add new entry point whilst preserving the old ones
for backward compatibility.
Partial-implements blueprint nicira-plugin-renaming
Change-Id: I3c5b5dcd316df3867f434bbc35483a2636b715d8
This should be accepted/merged once all the RC1 bugfixes are in.
This bumps the target version to 2014.1, effectively opening the master
branch to Icehouse development, ending the feature freeze.
The Havana release branch is cut from the previous commit in master.
Change-Id: I32a2ef85a8dff2b3a681fe7b33fc5dc983b7ab81
This patch initiates the blueprint l2-population
Implemented as a ml2 Mechanism driver.
OVS & LinuxBridge drivers will be added as dependencies.
Rebased on ML2 Portbinding.
Change-Id: Ia2345aa262ec791c9f38b6e41e1e4b46f69cadac
Port of the quantum/plugin/cisco/nexus plugin to run under the Modular
Layer 2 (ML2) infrastructure as defined in
https://blueprints.launchpad.net/quantum/+spec/ml2-mechanism-drivers
Implements blueprint ml2-md-cisco-nexus
Change-Id: Ifdd03bec554a08266de859387f1901858a3be4a1
Implements blueprint ipsec-vpn-reference
This patch implements reference driver implementation for VPNaaS.
The driver uses openswan to manage vpn connections.
Future work: Support ikepolicy and ipsec update
Support service type framework
Intelligent updating of resources
This commit adds jinja2 for requirements.txt for
generating cofig file.
Change-Id: I8c5ed800a71ca014dc7bdbb6a57c4f8d18fa82e0
The ml2 plugin uses mechanism drivers to determine which network
segment and what VIF driver to use for a port. Mechanism drivers
supporting the openvswitch, linuxbridge, and hyperv agents are
added. The binding:host attribute is set on ports belonging to the
dhcp and l3 agents so that they can be bound.
To use with devstack until it is updated, set
"Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge" in localrc.
The hyperv L2 agent does not currently implement the agents_db RPC,
and will therefore not work with its ml2 mechanism driver. This issue
will be tracked as a bug to be fixed in a separate merge.
implements blueprint: ml2-portbinding
Change-Id: Icb9c70d8b0d7fcb34b57adc760bb713b740e5dad
This patch implements Arista's modular L2 mechanism driver to
automate the management of virtual networks along with physical networks
using Arista hardware devices (Spine and Leaf switches)
This driver uses ML2 Mechanism Driver-API to interface with Neutron ML2 Plugin.
implements: blueprint arista-ml2-mechanism-driver
Change-Id: I1c4ca36cf3d7af013b7b3353e7b7d89fe39f91bf
Define a new ML2 Mechanism Driver that replicates Neutron network/port
configuration changes to NCS: http://www.tail-f.com/network-control-system/
Configuration is sent using a HTTP/JSON interface.
Implements blueprint tailf-ncs
Change-Id: I1f73fa3f2e4eec8e5a0f2865aec2d934e25c76d1
This is the agent side of :
blueprint bandwidth-router-measurement
blueprint bandwidth-router-label
This patch initiates agent side by adding a new
l3 metering agent and a Noop Driver.
DocImpact
Change-Id: Ib34721209c282b2669ff5488a33293d9f86467ef