137 Commits

Author SHA1 Message Date
OpenStack Proposal Bot
44d73d1ad3 Updated from global requirements
Change-Id: I9c0e3f44cf93db020933d8d766cedfc2e3f3bb8b
2015-10-24 02:08:55 +00:00
Elena Ezhova
0a762191a8 Register oslo_service.wsgi options correctly
oslo_service 0.10.0 release added register_opts function to wsgi
module that is why it is no longer needed to access its private
_options module.

Change-Id: I4803a3540a6bc9c8f08db49e209668d0736abec7
Depends-On: Id0f9f93758c68aa954d37e3566e35deae2961268
2015-10-19 20:28:28 +00:00
OpenStack Proposal Bot
58bcdea019 Updated from global requirements
Change-Id: Ib0b0138caca1214201fa52ed06ec5df4b7c7820d
2015-10-15 15:42:20 +00:00
Assaf Muller
8a9de547ed Remove disable_service from DBs configuration
Remove disable_service from configure_for_func_testing.
A recent Devstack patch (Linked in bug report) checks
that a disabled service is not enabled later. This breaks
the code this patch touches. I believe the DBs were disabled
and enabled with the assumption that Devstack expects only
a single DB to be configured at a time, but that doesn't
seem to be the case. Simply removing the disable calls seems
to work fine.

Also exclude oslo.messaging==2.6.0 as per global-requirements.txt.

Closes-Bug: #1505259
Closes-Bug: #1505295

Depends-On: I47ab12f719fba41c2f0c03047b05eb28f4423682
Change-Id: I0fbcc1218e1aa9adbf89f6121c1c2e224ed93cab
2015-10-12 20:22:00 +02:00
OpenStack Proposal Bot
2b29068225 Updated from global requirements
Change-Id: Ic6f9bc83375b97b02f6f92bbdec39de96801fc40
2015-10-07 01:43:13 +00:00
OpenStack Proposal Bot
957ac2b83e Updated from global requirements
Change-Id: Ifc569f4371b0fafe071d99bf6542ca2802da8bd9
2015-09-21 18:56:49 +00:00
armando-migliaccio
fdc3431ccd Merge remote-tracking branch 'origin/master' into walnut
Change-Id: Ic6314ef9c1db6524fbb0ed8b1bacdc2b081c4775
2015-09-16 17:07:52 -07:00
OpenStack Proposal Bot
81dd69cadd Updated from global requirements
Change-Id: I78f123c8e49b6dcd23bda1def9e021df74ffb0ea
2015-09-10 00:06:08 +00:00
OpenStack Proposal Bot
319920303a Updated from global requirements
Change-Id: Ib9d2e669f3d6e68cced7cd6674ff23ff7642f997
2015-09-08 22:03:54 +00:00
OpenStack Proposal Bot
1886964890 Updated from global requirements
Change-Id: I6f3dbf989cb6d9d110c2ee6a3a2e2b557bced28f
2015-09-04 23:06:43 +00:00
Doug Wiegley
6f2849c916 Merge remote-tracking branch 'origin/master' into merge-master-into-pecan
Change-Id: I28d09f217464c1abef6fc38907071a65c17da86c
2015-09-02 15:40:51 -06:00
YAMAMOTO Takashi
b3e7e21c32 OVS-agent: Introduce Ryu based OpenFlow implementation
Introduce an alternative OpenFlow implementation, "native",
implemented using Ryu ofproto python library from Ryu SDN Framework.
Make it selectable with of_driver=native agent option.
The aim is to replace the existing ovs-ofctl based implementation
eventually.

It introduces node-local OpenFlow controller embedded in
OVS agent.  Benefits include:
* Reduce the overhead of invoking ovs-ofctl command (and associated
  rootwrap)
* Make future uses of OpenFlow asynchronous messages (e.g. Packet-In,
  Port-Status, etc) easier
* Make XenAPI integration simpler

Highlights:
* Switch to OpenFlow 1.3.
* Make OVS-agent act as an OpenFlow controller
* Configure OVS on the node to connect to the controller

DocImpact

Implements: blueprint ovs-ofctl-to-python
Co-Authored-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Change-Id: I02e65ea7c6083b2c0a686fed2ab04da4d92b21a3
2015-09-02 14:05:18 +09:00
OpenStack Proposal Bot
a9b72392a1 Updated from global requirements
Change-Id: Ie5ad70b0afbeb5502cc41f585f6a3f2942203369
2015-09-01 04:25:00 +00:00
Salvatore Orlando
ae319ee359 Implement TODO for version listing
Return a list of currently enabled API versions building
the response in the same way as it is done for the eventlet
WSGI API in order to ensure backward compatibility.

The only version listed is obviously 2.0, but the solution
devised in this patch allows version controller for self
declaring the version they implement.

This patch also replaces the use of _lookup when such method
is not strictly necessary.
To this aim, the minimum version of Pecan has been bumped to
1.0 as previouse releases did not support dots "." as valid
characters in URI path segments.

Change-Id: Ia748194b2c07a04a711d32ce8058a006e73621ef
2015-08-31 10:17:33 -07:00
Doug Wiegley
2c5f44e1b3 Merge remote-tracking branch 'origin/master' into merge-branch
Change-Id: I9c29ad9564671ae5a2db35835bc4a30e75482cb2
2015-08-30 21:23:59 -06:00
OpenStack Proposal Bot
de604de334 Updated from global requirements
Change-Id: Ie52aa3b59784722806726e4046bd07f4a4d97328
2015-08-30 01:39:06 +00:00
OpenStack Proposal Bot
23c1c0bdc9 Updated from global requirements
Change-Id: I7c2244869509221deb0cee47b215ac66eccf1f2b
2015-08-18 01:35:13 +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
OpenStack Proposal Bot
aea9c82574 Updated from global requirements
Change-Id: I5fc0be8c97c21ef68174ff6b8807e05a5e1f19a4
2015-08-15 20:50:51 +00:00
OpenStack Proposal Bot
7e070bddad Updated from global requirements
Change-Id: Ieb2e8eaf3eb9fee93d5fcb8cb4e683a0a6555fc0
2015-08-13 02:14:42 +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
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
OpenStack Proposal Bot
d2650008b6 Updated from global requirements
Change-Id: Ib81ed61a31427abe8033081fadb39a3c3080fbd4
2015-07-27 17:56:32 +00:00
OpenStack Proposal Bot
94a070c78e Updated from global requirements
Change-Id: I36e87e41ba3a99b43bc57e9c9586ec9494db62d7
2015-07-23 12:50:58 +00:00
Ihar Hrachyshka
d3708de0cb Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Also applied the following fixes:

===

1. cleaned up some pylint failures that were not spotted before:

Module neutron.objects.qos.policy: Metaclass class method __new__ should
have 'mcs' as first argument

Module neutron.objects.qos.rule: Lambda may not be necessary

===

2. Revert "Introduce the AFTER_READ callback for ports and networks"

This reverts commit e3dba1424114575581c153e02227282e036ad0a2.

We don't use callbacks to extend resources anymore, instead relying on
ml2 extension drivers. No need for the patch to achieve QoS, and it also
breaks test_delete_subnet_with_callback that was added in master
recently.

===

3. updated requirements.txt and test-requirements.txt based on:

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

to avoid requirements gate checks failing due to incompatible
requirements comparing to global-requirements.txt

Change-Id: I744ab2d8327a428a5467f2d07d073a5f8c333520
2015-07-23 11:48:57 +02:00
OpenStack Proposal Bot
91f86101e4 Updated from global requirements
Change-Id: I1385cfc5d8838fbb73ba5c909537d072cba8d736
2015-07-18 16:06:06 +00:00
Sergey Vilgelm
38c85a8854 Switch to the oslo_utils.fileutils
fileutils is graduated in the oslo.utils library.

Implements: blueprint graduate-fileutils[1]
[1] https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-fileutils

Depends-On: I51ba9076e1fbc16145ee2311f47b7768c16dcb20 (requirements)

Change-Id: I933d02aa48260069149d16caed02b020296b943a
2015-07-15 08:09:26 +03:00
OpenStack Proposal Bot
65bb9241e7 Updated from global requirements
Change-Id: Ibcb49412a012f79be2f7fd697349ddbf43bd7b9b
2015-07-14 14:50:46 +00:00
Ihar Hrachyshka
e90b28662e First QoS versioned objects, ever
Well, first versioned objects in the tree.

Binding to networks and ports is not implemented.

No tests. Checked manually.

blueprint quantum-qos-api

Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I9b6cacfda4f40230d746222bed5b6c490be63743
2015-07-02 09:21:45 +03:00
Jenkins
c452babc59 Merge "Move windows requirements to requirements.txt" 2015-07-01 19:02:22 +00:00
Russell Bryant
2bbfe6f825 Move windows requirements to requirements.txt
Commit 276028cca26af573c14938255e40c58358eabd4a added these
requirements to setup.py from a custom build hook.  These requirements
can now be expressed in requirements.txt.  We need to move them there
so that the global requirements sync job can continue to keep setup.py
in sync with the global version.

Depends-on: I2369971d306c10dc39a1b89698cec95cf7551d07
Change-Id: I3c07c279d33f6aed46c3a97dd9ba81251e51429a
2015-06-30 11:43:56 -04:00
Elena Ezhova
6e693fc91d Switch to oslo.service
oslo.service has graduated, so neutron should consume it.

Closes-Bug: #1466851
Depends-On: Ie0fd63f969f954029c3c3cf31337fbe38f59331a
Depends-On: I2093b37d411df9a26958fa50ff523c258bbe06ec
Depends-On: I4823d344878fc97e66ddd8fdae25c13a34dede40
Change-Id: I0155b3d8b72f6d031bf6f855488f80acebfc25d4
2015-06-29 13:20:55 +03:00
Russell Bryant
2557c47668 Updated from global requirements
This patch takes the latest global requirements update from change
Ibcb49412a012f79be2f7fd697349ddbf43bd7b9b except takes out the update
to setup.py which reverts the windows specific requirements.  We are
still working on getting the custom changes out of setup.py in change
I3c07c279d33f6aed46c3a97dd9ba81251e51429a.

Change-Id: Iee7612d39b520cf04e3b2ec503ec79d23f15f949
2015-06-25 09:20:19 -04:00
Doug Wiegley
345ffb99ef Updated from global requirements
Since we can't merge proposal bot at the moment, due to a conflict with
setup.py, at least get our reqs files up to snuff.

Change-Id: Ie313c81502dfe17a4afdcfdba4e207b9866e1399
2015-06-18 18:13:43 -06:00
Jenkins
9d649129ca Merge "Consume oslo.policy" 2015-06-11 06:04:10 +00:00
Jenkins
909f7fe68b Merge "Remove get_admin_roles and associated logic" 2015-06-09 19:57:30 +00:00
Ihar Hrachyshka
9143ce10e4 Consume oslo.policy
Some non intrusive changes to tests are needed, so that we don't rely on
library symbols that are now private (f.e. parse_rule).

Closes-Bug: #1458945
Change-Id: I90326479e908042fec9ecb25fa19a8dd5b15e7d8
2015-06-09 17:07:13 +00:00
Salvatore Orlando
734e77365b Remove get_admin_roles and associated logic
get_admin_roles was introduced so that contextes generated from
within plugins could be used for policy checks. This was the case
up to the Havana release as several plugins invoked the policy
engine directly to authorize requests.

This was an incorrect behaviour and has now been fixed, meaning
that get_admin_roles is no longer need and can be safely removed.
This will result in a leaner and more reliable codebase. Indeed the
function being removed here was the cause of several bugs where the
policy engine was initialized too early in the server bootstrap
process.
While this patch removes the feature it does not remove the
load_admin_roles parameter from context.get_admin_context. Doing so
will break other projects such as neutron-lbaas. The parameter is
deprecated by this patch and an appropriate warning emitted.

As a consequence neutron's will now no longer perform policy checks
when context.is_admin=True. This flag is instead set either when
a context is explicitly created for granting admin privileges, or
when Neutron is operating in noauth mode. In the latter case every
request is treated by neutron as an admin request, and get_admin_roles
is simply ensuring the appropriate roles get pushed into the context
so that the policy engine will grant admin rights to the request.
This behaviour is probably just a waste of resource; also it is not
adding anything from a security perspective.

On the other hand not performing checks when context.is_admin is
True should not pose a security threat either in noauth mode or
with the keystone middleware. In the former case the software keeps
operating assuming admin rights for every requests, whereas in the
latter case the keystone middleware will always supply a context
with the appropriate roles, and there is no way for an attacker
to trick keystonemiddleware into generating a context for which
is_admin=True.

Finally, this patch also does some non-trivial changes in test_l3.py
as some tests were mocking context.to_dict ignoring the is_admin flag.

Closes-Bug: #1446021

Change-Id: I8a5c02712a0b43f3e36a4f14620ebbd73fbfb03f
2015-06-09 11:12:47 +02:00
Ihar Hrachyshka
74dcc91aa8 versionutils: switch from incubator version to oslo.log
Note that we require oslo.log >= 1.2.0 since it's the first release that
included the module.

Change-Id: I2b7d587d8c4b0c885873c9c8083abb8fc35780c9
2015-06-04 17:59:38 +02:00
OpenStack Proposal Bot
9fd685a322 Updated from global requirements
Change-Id: Iecf009725214efa30e42f62d14e4ef920d6ce4a1
2015-05-07 23:32:27 +00:00
OpenStack Proposal Bot
8978516e49 Updated from global requirements
Change-Id: Ic51f5b4e157bcc097bd42eb5607dd8223d01952d
2015-05-05 00:07:15 +00:00
OpenStack Proposal Bot
fc1608a6a1 Updated from global requirements
Change-Id: Icec7a7d00ebdd07673cfdb49a46faa4c73d3908a
2015-04-29 19:18:14 +00:00
Ihar Hrachyshka
db4764587c Removed jsonrpclib dependency
It was used by Arista ML2 driver that is now decomposed from the tree.
The dependency is also one of those blocking our python 3 story [1].

[1]: https://caniusepython3.com/check/ba7f2a23-8a1b-4ec9-9d85-08c7d3b05230

Change-Id: I4de422da14e382ece49987da498d2d7f424e89b4
2015-04-13 15:21:46 +02:00
OpenStack Proposal Bot
748735a6d7 Updated from global requirements
Change-Id: I50e3c7989d7d2f109672d1d47869041e31b32439
2015-03-21 00:10:47 +00:00
Ihar Hrachyshka
eb9819690b Added oslo.log dependency
This is needed for vendor libraries out of tree to start switching their
code to oslo.log logging interface. Hopefully, they will be able to run
against neutron core using neutron.openstack.common.log while executing
oslo_log.log.* calls.

Change-Id: I666389efe65526bda66c5f70170687638d1a5038
Related-Bug: #1425013
2015-03-10 22:57:58 +01:00
OpenStack Proposal Bot
4a7f04ae92 Updated from global requirements
Change-Id: I5509534ac9caf0fc19eded5f33249929b5745f16
2015-03-07 00:16:29 +00:00
OpenStack Proposal Bot
bb53c3f8eb Updated from global requirements
Change-Id: If75799dc4c4e92f1bb2bd58a2604a82a9d7c4e59
2015-03-05 23:44:09 +00:00
OpenStack Proposal Bot
01a6dd4d82 Updated from global requirements
Change-Id: I60c3f61075530c74eb062ec6437078e6deba289e
2015-03-05 04:51:43 +00:00
OpenStack Proposal Bot
c87efcf23a Updated from global requirements
Change-Id: Ie0f782d8e0f185c041b169f4831f33723840e8db
2015-02-24 16:15:57 +00:00