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
bp: remove-bin-directory
There are some binaries which are expected to run in branch, so
we have to keep them there now.
Change-Id: I5134d975cbd69f929a325ab80a6d19ce1f122656
Previously neutron was keeping track of dhcp lease time in order
to ensure it didn't hand out an ip address that was already leased.
This patch removes that logic and instead leverages the dhcp_release
utility. This allows us to reuse ip addresses immediately after a port
is deleted. This patch also bumps the lease time to 24 hours instead
of 2 minutes with reduces the amount of dhcp traffic.
DocImpact
There is a DocImpact for this bug related to the upgrade path. One should
first upgrade their dhcp-agents. Then wait till the dhcp_lease time has
expired. Lastly, update neutron-server in order to avoid the case where
an instance is deleted and the dnsmasq process has not released the lease
and neturon allocates that ip to a new port.
Fixes bug: 1202392
Implements blueprint: remove-dhcp-lease
Change-Id: Ifcb4f093c92904ceb896438987d53e692eb7fb26
This patch add the type_driver GRE to enable the creation of GRE
tunnels with the OVS agent.
No Endpoints ID are managed. Only Endpoint IP are stored in DB,
and this IP is proposed as an endpoint ID for the OVS agent.
It also fixes the bug 1201471.
Implements: blueprint ml2-gre
Change-Id: I1a33a4bd3ebc4c97eecf17a59ce16b8c2066ec66
Add an ML2 Type Driver for VXLAN networks to allow the creation
of VXLAN networks with the OVS agent.
Change-Id: I7fcc384cc44d5adc752510847d8ba5f46bbb79fb
Implements: blueprint ml2-vxlan
Some changes were missing from the previous rename patch, so it broke
XenServer support. This patch contains the missing adjustments.
related to blueprint remove-use-of-quantum
Change-Id: I1ee5cc38d555bd5c26edf00a456ec71919604d79
Define the Mechanism Driver interface for create/update/delete
operations on networks and ports. For each of these event, the
Mechanism Driver provides one method that is called within the
database transaction of the ml2 plugin method, and one that is called
after the transaction is completed.
Support for mechanism drivers is still a work-in-progress, and the
interface is subject to change in future versions before the release
of Havana. However this initial version should be sufficient to enable
others to start defining their own mechanism drivers.
Change-Id: Ife30215589792ee27df9897d3b2bc04392638266
Implements: blueprint ml2-mechanism-drivers
Fixes: bug #1199977
Fixes: bug #1199978
DocImpact
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.
implements blueprint: remove-use-of-quantum
Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
The single-version-externally-managed flag is no longer
a config option in pbr, it is now the default behaviour
in normal setuptools.
Change-Id: I5173d78680afca534b28cefa155636d9d695b1d9
Corrects the typo in setup.cfg to use single-version-externally-managed
for pbr.
Fixes bug 1192987
Change-Id: I039b51897ec180148e5095349e4567759f2711a5