444 Commits

Author SHA1 Message Date
Jenkins
64c596a6c1 Merge "Remove Cisco Meta and N1KV monolithic plugins" 2015-09-05 18:50:51 +00:00
Shweta P
b61cd4eaed Final decomposition of Cisco plugin
This patch follows the previous patch(listed as dependent) and moves
the remaining cisco db models from neutron to networking-cisco.
The patch deletes l3_model and cisco_router_plugin and their associated
config and helper files from neutron

Change-Id: I5b71e1dfb683e633e1cd11386dfb7c2ed7cc7d62
Partial-Bug: #1489609
2015-09-05 04:59:08 +00:00
Abhishek Raut
d12017ad51 Remove Cisco Meta and N1KV monolithic plugins
This patch removes the Cisco meta plugin and the Cisco
Nexus1000V monolithic plugin as they were deprecated in the
previous cycle.

Closes-bug: #1473217

Change-Id: Id170b9512b2f52a971264336d83b083d487359ee
2015-09-05 00:53:36 -04:00
armando-migliaccio
9022fb1ae8 Remove implicit registration of *-aas service providers
Implicit registration can be dropped when explicit registration
for load balancer and vpn is implemented. Firewall does not
use service providers and the ServiceTypeManager, so the
precautionary step can be dropped altogether.

Support for configuring providers via the service_providers section
in neutron.conf, is no longer available, hence clear the stale
entry points.

DocImpact

Closes-bug: #1473110

Change-Id: I5e1d254b9a3a24121d9e9d3cb82f877d44079296
2015-09-02 16:13:59 +00:00
Doug Wiegley
2c5f44e1b3 Merge remote-tracking branch 'origin/master' into merge-branch
Change-Id: I9c29ad9564671ae5a2db35835bc4a30e75482cb2
2015-08-30 21:23:59 -06:00
Jenkins
a574640ab7 Merge "PLUMgrid plugin decomposition part II" 2015-08-30 05:07:49 +00:00
Jenkins
61ab2ea304 Merge "Removing the SDN-VE monolithic plugin" 2015-08-29 23:56:31 +00:00
Aaron Rosen
7b7c15ba4e Add Geneve type driver support to ML2
More information about Geneve protocol can be found here:
  https://tools.ietf.org/pdf/draft-gross-geneve-02.pdf

Following configuration variables were added:
[ml2_type_geneve]
  vni_ranges - Comma-separated list of <vni_min>:<vni_max> tuples
               enumerating ranges of Geneve VNI IDs that are
               available for tenant network allocation
  max_header_size - Geneve encapsulation header size is dynamic, this
                    value is used to calculate the maximum MTU for the driver
                    this is the sum of the sizes of the outer
                    ETH + IP + UDP + GENEVE header sizes

DocImpact

Change-Id: I8c29a1c1a7c79e02c26ac9e2ad2645d30dfbeefc
Closes-Bug: #1461069
2015-08-27 20:04:35 +03:00
Mohammad Banikazemi
bdfe8dcf42 Removing the SDN-VE monolithic plugin
As the SDN-VE monolithic plugin is no longer in use by
anyone, this is to remove the code from the Neutron source
tree.

DocImpact

Change-Id: I8def7fc2e92f967785b9ab05f8496de641e8f866
2015-08-27 09:18:22 -04:00
Jenkins
79ee9ad7e9 Merge "L3 agent changes and reference implementation for IPv6 PD" 2015-08-25 20:41:16 +00:00
Fawad Khaliq
97452d1e30 PLUMgrid plugin decomposition part II
As part of the phase II plugin decomposition [1],
this change moves PLUMgrid plugin to its new
home: networking-plumgrid [2]

[1] http://docs.openstack.org/developer/neutron/devref/contribute.html
[2] https://github.com/openstack/networking-plumgrid

Partial-Implements: blueprint core-vendor-decomposition
Change-Id: Ifc6bbb4fe45ee9b8d298ff171ee43c0da37d075c
Signed-off-by: Fawad Khaliq <fawad@plumgrid.com>
2015-08-25 05:27:05 -07:00
John Davidge
4b329c345c L3 agent changes and reference implementation for IPv6 PD
This patch adds the common framework to be used by specific
implementations of the DHCPv6 protocol for Prefix Delegation.

It also includes a reference implementation based on the Dibbler
DHCPv6 client. Dibbler version 1.0.1 or greater is required.
Sanity tests are included to verify the installed version.

A patch for admin/user documentation is up for review here:

https://review.openstack.org/#/c/178739

Video guides for configuring and using this feature are available on
YouTube:

https://www.youtube.com/watch?v=wI830s881HQ
https://www.youtube.com/watch?v=zfsFyS01Fn0

Co-Authored-By: Baodong (Robert) Li <baoli@cisco.com>
Co-Authored-By: Sam Betts <sam@code-smash.net>

Change-Id: Id94acbbe96c717f68f318b2d715dd9cb9cc7fe4f
Implements: blueprint ipv6-prefix-delegation
2015-08-25 08:44:13 +01:00
Akihiro Motoki
cfa8f53771 Decomposition phase2 of NEC plugin
As part of plugin decomposition effort, NEC plugin is removed
from the main neutron repo and moved to networking-nec repo.

Related blueprint core-vendor-decomposition
Closes-Bug: #1487929
Change-Id: I2ef7ec241f061516b72c4df9f959af027c4c366c
2015-08-25 04:19:29 +00:00
Vlad Gridin
6334cac7c8 Remove the ML2 Nuage driver code
This changeset removes ML2 Nuage driver vendor code,
currently present in neutron core to vendor repo.

Closes-bug: #1486662
Related-Blueprint: core-vendor-decomposition

Change-Id: I6388e91ba56aa6b8f16c723f7d07234d262b6c16
2015-08-21 15:06:32 +00:00
Sandhya Dasu
d91cd8dc1a Final decomposition of ML2 Cisco UCSM driver
The ML2 Cisco UCSM driver's entry point is being switched to the
networking-cisco vendor repo. The definition of the driver's db
file and all references to it in the neutron branch are removed.

Change-Id: I75eb165f3bb78d31bece26762ca0ff47cab2b79b
Implements: blueprint: core-vendor-decomposition
Closes-bug: #1484165
2015-08-19 11:32:03 -04:00
Carol Bouchard
14e6708782 Final decomposition of ML2 Nexus Driver
This changeset removes the remaining ML2 Nexus Driver Vendor
code from the neutron repo.  It has been moved to  the
networking-cisco repo.

Change-Id: I95540f35f80ad8eba4bc3f6fa37095842e42c037
Closes-bug:  #1482366
Implements:  blueprint: core-vendor-decomposition
2015-08-18 15:41:22 +00:00
Abhishek Raut
9d0088d0fb NSX: Move DB models as part of core vendor decomposition
This patch removes the database models from neutron repo.
Also removes README, common modules and plugin module.

Change-Id: I5d5b0acf34417889c2a449f22b92fd105697d90d
Related-Blueprint: core-vendor-decomposition
Partial-bug: #1483453
2015-08-17 19:19:53 +00:00
Ihar Hrachyshka
70727ba781 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Note to reviewers: gerrit diff for merge patches is very limited, and
leaving comments in global section won't scale, so please comment here:

https://etherpad.openstack.org/p/qos-merge-back-review

This merge commit introduces QoS feature into Liberty release of
Neutron.

The feature is documented in: doc/source/devref/quality_of_service.rst
included with the merge patch.

It includes:

- QoS API service plugin with QoS policy and QoS bandwidth limit
  (egress) rule support;
- core plugin mechanism to determine supported rule types, with its ML2
  implementation;
- new agent extension manager;
- QoS agent extension with pluggable backend QoS drivers (Open vSwitch
  and SR-IOV support is included).

To extend network and port core resources with qos_policy_id attribute,
a new ML2 extension driver (qos) was introduced that relies on the QoS
core resource extension (the idea is that eventually we'll get a core
resource extension manager that can be directly reused by core plugins).

Agent-server interaction is based on:

- get_device_details() method that is extended with qos_policy_id;
- a new push/pull mechanism that allows agents and servers to
  communicate using oslo.versionedobjects based objects sent on the
  wire.

The merge includes the following types of test coverage:

- unit tests;
- functional tests for OVS agent, QoS agent extension, and low level
  ovs_lib changes;
- API tests to cover port/network qos_policy_id attribute and new QoS
  resources.

The client changes can be found at:

* https://review.openstack.org/189655
* https://review.openstack.org/198277

The team also prepared fullstack test but it needs to wait for client
merge before it can pass in the gate:

* https://review.openstack.org/202492

Gerrit does not show diff for merge changes that did not result in any
conflict, so to facilitate review, rely on the following steps:

- fetch the patch locally
- git fetch origin
- git diff origin/master...

This merge also disables qos extension API tests until the service is
enabled in master gate.

Local changes apart from conflicts:
- updated down_revision for qos migration to reflect master expand head;
- disabled qos API tests with gate_hook.sh until we have it enabled in
  master gate;
- bumped oslo.versionedobjects requirement to reflect what is in
  openstack/requirements' global-requirements.txt

DocImpact
APIImpact
Partially-Implements: blueprint quantum-qos-api
Partially-Implements: blueprint ml2-qos
Partially-Implements: blueprint ml2-qos-ovs-bwlimiting
Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
Change-Id: I92916d0e391791187e9a25ff172fb4b3504857b1
2015-08-17 15:16:55 +02:00
Jenkins
bd7e6d267c Merge "Remove vmware plugin from neutron (etc part)" 2015-08-15 18:03:52 +00:00
Jenkins
5c477abcb9 Merge "Final decomposition of the ML2 NCS driver" 2015-08-15 10:58:52 +00:00
Salvatore Orlando
2ba2456f9d Pecan WSGI: prevent plugins from opening AMQP connections
The Pecan WSGI server is supposed to server REST requests only.
As several plugins initialize their RPC interfaces upon initialization,
this results in establishing undesired connections to the AMQP server.

This patch does not alter plugin behavior or initialization process,
but ensures that the setup_rpc operation performed by a plugin has no
effect when executed in the Pecan WSGI server.

This patch also performs some refactoring for server launchers.

Change-Id: I56384f5f964ea90d72babf911aa5639989e9c3d8
2015-08-13 15:10:48 -07:00
Shih-Hao Li
0b19a1ef55 Remove vmware plugin from neutron (etc part)
Remove neutron:/etc/neutron/plugins/vmware/ because
it has been moved to vmware-nsx:/vmware_nsx/etc/
in commit# b27bc1942195ff551cd22ddaf6853a25302cbb7e.

This is the first part of vmware plugin decomposition
(etc, extensions, and database).

Partial-bug: #1483453
Change-Id: Ic6fe5e256369a1b6aabdaadf019989f0e6a6e444
2015-08-13 13:22:33 -07:00
Jenkins
18e40db717 Merge "Support for independent alembic branches in sub-projects" 2015-08-13 15:32:55 +00:00
Jenkins
012df59144 Merge "Treat sphinx warnings as errors" 2015-08-13 14:46:30 +00:00
Henry Gessau
603c0d03ae Support for independent alembic branches in sub-projects
Sub-projects shall now register their independent alembic migrations
via entrypoints in setup.cfg, and neutron-db-manage will discover them
and run them automatically.

If a service or sub-project is specified explicitly, then
neutron-db-manage will run on only that service or sub-project.

The advanced services project are just special cases of sub-projects.
For example, specifying the CLI option '--service lbaas' is the same
as specifying '--subproject neutron-lbaas'.

Specifying no service or sub-project will cause neutron-db-manage to
run the command on neutron and all installed sub-projects.

Added and consolidated documentation into devref for alembic migrations.

Partial-Bug: #1471333
Partial-Bug: #1470625

Change-Id: I9a06de64ce35675af28adf819de6f22dc832390d
2015-08-12 23:50:58 -04:00
Kanzhe Jiang
74a5e91667 Remove bigswitch mech_driver entry point definition
After vendor driver split, the entry point for bigswitch ml2
mechanism_driver is no longer valid. The new entry point is defined in
the networking-bigswitch stackforge repo.

Change-Id: Ie6e19a13e49d9d3e95f8ea2f10181592e9f156e5
Closes-Bug: #1484341
2015-08-12 20:39:17 -07:00
James E. Blair
ca497aa1fb Treat sphinx warnings as errors
Change-Id: I65fcca7eb3397c8f5a777bab1c9c20161263ed26
2015-08-12 15:19:28 -04:00
Henry Gessau
26b226f43e Final decomposition of the ML2 NCS driver
Closes-Bug: #1484160
Related-Blueprint: core-vendor-decomposition

Depends-On: I713f2378050f514a427fb9937b2a1fc5cc48bd6f

Change-Id: I0a447fd5b176faf96fc0f5e164fa7a3b098ae74f
2015-08-12 11:50:11 -04:00
Moshe Levi
995c35221b SR-IOV: Add Agent QoS driver to support bandwidth limit
This patch adds SR-IOV agent driver which uses eswitch manager to set VF
rate limit. It also updates the agent to call port_delete api of the
extension manager to cleanup when port is deleted.

Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
Change-Id: I364fc8158e502d4dcc3510d6157f12969961a11d
2015-08-12 09:37:02 +00:00
Kyle Mestery
a7b91632fc Merge remote-tracking branch 'origin/master' into merge-branch
Change-Id: Ic237c09131f6579f3df1a3a10ba1e5f7a3d42bde
2015-08-11 10:39:40 +00:00
Ihar Hrachyshka
4dd9841186 Moved extensions/qos_agent.py into extensions/qos.py
This file does not contain any separate QoS agent but just an extension
for existing l2 agents to reuse.

Change-Id: I0587d89b0e841e5fd19b91157602efb5aa97513e
Partially-Implements: blueprint quantum-qos-api
2015-08-07 19:38:13 +00:00
Ihar Hrachyshka
cc0ae6dd49 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Change-Id: I683102e617202e0ffc953a0d3cc179879f8faf82
2015-08-05 17:15:40 +02:00
Ihar Hrachyshka
f80aa722a6 Added missing [qos] section into neutron.conf
Also renamed service_notification_drivers into notification_drivers
since it's clear where it belongs anyway (it's in neutron.conf meaning
it's a server side configuration value).

Change-Id: I64610e4b60112daec982a8cacded9b9b936c10bd
Partially-Implements: blueprint quantum-qos-api
2015-08-01 22:19:07 +02:00
Jenkins
b894c74add Merge "Initial pecan structure" into feature/pecan 2015-08-01 10:29:09 +00:00
Kevin Benton
dfd4c801d2 Initial pecan structure
This patch is the initial work for the pecan refactor.

* Adds pecan as a requirement
* Adds a simple API server named 'neutron-dev-server' for use
  when neutron server is not deployed in a web server
* Wraps the app with the openstack request ID middleware
* Adds a basic V2 controller that breaks out requests by method
* Adds functional tests to ensure request ID is set and requests
  are properly sent to the V2 controller.

Partially-Implements: blueprint wsgi-pecan-switch
Co-Authored-By: Brandon Logan <brandon.logan@rackspace.com>
Co-Authored-By: Mark McClain <mark@mcclain.xyz>
Change-Id: Ic9697ff30ab8359b62ce01eb73dc927065a8e3e6
2015-08-01 01:19:39 -07:00
Jenkins
7b3abffc2c Merge "Arista Drivers decomposition part II" 2015-08-01 00:48:44 +00:00
Sukhdev Kapur
50eb8041bd Arista Drivers decomposition part II
As a part of vendor driver decomposition,
this patch moves the remaining Arista specific
code to openstack/networking-arista

Change-Id: Ie16b5ed936b116043dea36ec967bb5ae9cdacbdf
Partial-Implements: blueprint core-vendor-decomposition
2015-07-31 12:38:40 -07:00
Saksham Varma
5b3bacedf6 Moved out cisco n1kv mech driver and db models
Moving out Cisco N1Kv database models and the mech driver
to the openstack/networking-cisco repo as part of the second
phase vendor-core decomposition

Partial-Bug: #1479123
Partial-implements: blueprint core-vendor-decomposition

Change-Id: I65a704b238d8cbe2951a6912fa4f1e8518c6f412
2015-07-30 00:12:26 +00:00
Jenkins
de2dd7aafe Merge "Moving out cisco n1kv extensions" 2015-07-29 17:44:42 +00:00
Ihar Hrachyshka
ec1e812e34 Load the QoS notification driver from the configuration file
The agent based RPC notification driver for message queue is the default.

Added support for multiple notification drivers.

DocImpact

Partially-Implements: blueprint quantum-qos-api
Change-Id: I4108c3d111067d8217bc4112c05e1bde0125e0ef
2015-07-28 21:31:17 +02:00
Ivar Lazzaro
e0ba53a09a Decompose Apic ML2 mechanism driver
As a part of the vendor decomposition effort, the
apic ML2 driver code is removed and replaced by
its version in the openstack/networking-cisco
repo.

Change-Id: Iffb5245b4c88b65afe62dd7435ee80489a654fee
Partial-implements: blueprint core-vendor-decomposition
2015-07-24 19:32:49 +00:00
Ihar Hrachyshka
fcc5d5bcf7 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Change-Id: I1c1fd593235fda1cdd053980f50eff21ca9011b6
2015-07-24 14:24:10 +02:00
Hirofumi Ichihara
6ff8582896 Metaplugin removal
Metaplugin is removed in Liberty.
Remove all metaplugin related codes.

DocImpact
APIImpact

Co-Authored-By: Itsuro Oda <oda@valinux.co.jp>
Change-Id: I9cf36e1fd3a009c175e0d475af407a30f4e5c408
Closes-Bug: #1465126
2015-07-23 19:05:05 +09:00
Mike Kolesnik
0395f14203 Handle qos_policy on network/port create/update
Added handling for qos_policy_id field in the network and port
entities via ML2 extension driver.
The QoS profile will be associated to the network/port when requested as
part of the entity creation or update.

Allow ML2 extension manager to not register for any api extension
(new use case).

===

Extend the resources using the QoS extension class

Since the QoS extension for plugins is handles by this class, it makes
sense for it to handle also property extension of resources.

For ML2 this means that that extend_{network,port}_dict functions will
handle the extension of resources by calling QosExtensionHandler.
This logic can easily be reused by other plugins.

Note: we should make sure that resource extension does not require db
access, otherwise we see DBDeadLock errors and random tempest failures.
To achieve this, we define a new SQLAlchemy joined relationship on
policy bindings to make networks and ports receive those bindings on
their fetch from database. After that, the only work to do left for
resource extension handler is to copy the fetched policy into resource
dictionary.

===

Also enable new qos ml2 extension until we configure it in gate via
project-config and devstack-gate to make sure it's enabled and tested.

Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com>
Partially-implements: blueprint quantum-qos-api
Change-Id: I1b7d4611215a471d5c24eb3d7208dcddb7e015f4
2015-07-19 08:33:04 +02:00
Jakub Libosvar
a1c05891a5 Add qos section to ovs agent config
[qos] section is introduced with qos driver for ovs agent. Similar
manner should follow for all l2 agents using qos with different default
drivers.

Change-Id: I3c6a3711d3cd9924d55cf6d0ed84be18c993c275
2015-07-15 19:16:35 +02:00
Saksham Varma
63f58b525e Moving out cisco n1kv extensions
Moving out Cisco N1Kv extensions to the openstack/networking-cisco
as part of the second phase vendor-core decomposition

Change-Id: Ib95309c7fa00c2afc3ebbfbbcb06ef430e90d6be
Depends-on: I408619a82497392a287dce6677673071ffc714f1
Closes-Bug: #1474129
2015-07-13 15:26:43 -07:00
Moshe Levi
9544ffb615 Qos Agent Extension
This patch introduces the following:
QosAgentExtension - implementation of AgentCoreResourceExtension
QosAgentDriver - interface class
This will allow any agent to implement their own low level driver for
Qos Agent Extension.

Co-Authored-By: Miguel Angel Ajo <mangelajo@redhat.com>

Change-Id: I9e388173dfe0eb43c961018bd687bc86f34c7a6a
2015-07-13 14:48:47 +00:00
Moshe Levi
c26142be33 AgentExtensionsManager and AgentCoreResourceExtension
This patch introduces the following classes:
L2Agent - abstract class for common L2Agent implementions.
AgentExtensionsManager - to load AgentCoreResourceExtension.
AgentCoreResourceExtension - interface class to define
the AgentCoreResourceExtension API.
This allows better segregation between L2 Agent Core
and L2 Agent Extensions.

The patch is missing unit test but it was tested manually.
I added a unit tests @TODO comments to come back
to them later.

Change-Id: I813de7ff1bee188f4294f4b3eb3645ebd903297b
2015-07-02 13:51:34 +00:00
Kyle Mestery
d7e60d59a3 Merge remote-tracking branch 'origin/master' into merge-branch
Change-Id: I7bd5d0568e773365eaab1ebd99dcd7186da22dae
2015-07-01 21:55:54 +00:00
Moshe Levi
8123144fad Fix Consolidate sriov agent and driver code
This patch add mising __init to mech_sriov/mech_driver/
and update the setup.cfg to the new agent entrypoint

Trivial Fix

Change-Id: I53a527081feb78472f496675bbb3c5121d38a14a
2015-06-29 20:12:36 +00:00