[openstack-dev] [neutron][qos] Priorities & Status for QoS

Miguel Angel Ajo mangelajo at redhat.com
Mon Jul 13 09:26:54 UTC 2015



Miguel Angel Ajo wrote:
>
> I've been working on assembling a QoS[1] POC since last day of the 
> coding sprint in Israel [2],
> Ihar has reported to the list our plan to get into master [3].
>
> I've been able to validate and integrate lots of the patches, and find 
> the gaps, while still
> finishing the top-down assembly may require a few more hours, or an 
> extra day, I believe
> we should prioritize the work to make such POC available for easy 
> consumption in
> feature/qos.
>
> For that to happen, we should prioritize review and merge of the 
> following patches into the branch:
> (I'd be very thankful to any review cycles anyone could spend on this, 
> specially cores, of course)
>
> QoS service plugin:
>
> * https://review.openstack.org/#/c/197564/
> * https://review.openstack.org/#/c/197898/
>
> Agent side:
>
> * https://review.openstack.org/#/c/195440/ (I just found a bug in the 
> logic, working to submit a new PS)
> * https://review.openstack.org/#/c/197557/ (waiting for merge, 
> dependent on other patch)
>
> DB Models & Versioned Objects (unit tests+ fixes):
>
> * https://review.openstack.org/#/c/200005/
> * https://review.openstack.org/#/c/200036/
> * https://review.openstack.org/#/c/200418/
> -- 
> ready for merge, waiting on rebase from master, failing on the mock-hell:
> * https://review.openstack.org/#/c/198163/
> * https://review.openstack.org/#/c/197898/
> * https://review.openstack.org/#/c/199627/
> * https://review.openstack.org/#/c/199634/
>
>
> Extra stones:
> a)
>
> @armax, please check where I make sense here, I believe I do, but of 
> course I want your opinion:
> We also need to introduce new BEFORE_UPDATE callbacks for ports and 
> networks
> before any call to plugin. So we'll be able to retrieve 
> qos_profile_id, and check it, and
> associate/dissociate network/port to profile.

Talking to Mike Kolesnik, who is currently working into this piece, he 
just realized which
what I'm saying here it's partly wrong.

We need BEFORE_UPDATE to validate the data it's being provided 
(qos_policy_id permissions,
existence, etc..) and otherwise throw an exception.

Then we need AFTER_UPDATE (when we're sure nobody threw an exception) to
really stick it to the database, and, send a message to the QoS backend 
to configure
the ports.

>
> AFTER_UPDATE is working ok here, with a few workarounds, since, for 
> example,
> it's called from ML2, and ML2, will only push information of the port 
> when the port
> has changed anything relevant to ML2, and won't even provide the 
> port_id ...
> I'm not sure where this is used/what's the use case.

And we need to extend the understanding of ML2 changed information to 
detect changes to
qos_profile_id and send such information down the line (agents & the 
AFTER_UPDATE).
>
>
> b) rule list handling in the policy versioned object (Ihar is handling 
> that here, WIP): https://review.openstack.org/#/c/200608/
> c) serializing and deserializing the policy - rules dictionary over 
> the wire (thanks to versioned objects).
>
>
> Afterwards, we must follow with the plan Ihar explained in [3], we 
> don't have much time,
> so, if you have an interest on QoS, please join the effort and help us 
> with anything you can
> if you want it as an experimental feature available by L.
>
> Quality Regards ;)
> Miguel Ángel
>
> [1] 
> http://specs.openstack.org/openstack/neutron-specs/specs/liberty/qos-api-extension.html 
>
> [2] TL;DR report, with nice pictures : 
> http://www.ajo.es/post/123458887419/neutron-quality-of-service-coding-sprint 
>
> [3] 
> http://lists.openstack.org/pipermail/openstack-dev/2015-July/069188.html
>
>
> __________________________________________________________________________ 
>
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: 
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list