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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to