[openstack-dev] [nova] placement/resource providers update 12
Chris Dent
cdent+os at anticdent.org
Fri Feb 17 13:12:07 UTC 2017
Thanks to edleafe for doing last week's resource providers and placement update. This one will try to situate things for next week's PTG. Because of the PTG there will be no update next week. If everything goes to plan there should be a wealth of etherpads and some summaries which will be further summarized in the following week.
# What Matters Most
To make sure we address all the most relevant stuff next week, it would be useful for anyone interested or invested in placement to have a review of some etherpads, even if you aren't going to be at the PTG.
The overarching nova etherpad for the PTG is at:
https://etherpad.openstack.org/p/nova-ptg-pike
The list of things related to placement is long enough to get its own:
https://etherpad.openstack.org/p/nova-ptg-pike-placement
There's an also an etherpad for doing a retrospective on the ocata cycle. That has some placement related things on it. If you have some things to say on how placement development went this cycle, good or bad, please add them to:
https://etherpad.openstack.org/p/nova-ocata-retrospective
# What's Changed
In the last week or so the main things to have changed are merges to master and backports of tweaks to status checks and deployment ordering (in systems like TripleO) and a fair number of bugs (for example, two fixes to generated SQL to make it work with postgresql). Master is now pike, so the functionality that didn't make it into ocata is once again being actively worked on (see lots of links below).
The full extent of the "Placement API Developer Notes" has merged. It's at:
https://docs.openstack.org/developer/nova/placement_dev.html
If you're working on placement and have not read that, it's probably worth reading. If you find that something is missing, please say so so we can figure out how to fix it.
# Main Themes
The first two items listed below are the immediate feature priorities for placement.
## Custom Resource Classes (Ironic Inventories)
https://review.openstack.org/#/q/status:open+topic:bp/custom-resource-classes
We hoped to get this into Ocata but we didn't manage to bring it together in a way that was comprehensible and tested enough to be confident. There's since been some adjustments that should help with that but there remain some concerns on where in the layers of code the inventory handling should happen.
## Real use of Shared Resource Providers
https://review.openstack.org/#/q/status:open+topic:bp/shared-resources-pike
One of the big payoffs of the resource providers concept is that we'll finally be able to allocate use of shared resources (such as farms of disk) in a rational fashion. The changes at the topic above start that work. There's also an etherpad where discussion of some of
the options is in progress:
https://etherpad.openstack.org/p/decision-finding-shared-inventory
You'll see from that we've still got some distance to go before we're all on the same page about how this is supposed to work.
## Resource Provider Traits
https://review.openstack.org/#/q/status:open+topic:bp/resource-provider-traits
https://review.openstack.org/#/q/status:open+topic:bp/resource-provider-tags
(We should decide on just one bp name here.)
This is the qualitative aspect of resource providers (e.g., disk which is SSD) and will allow requests to express preferences or requirements for types of things, not just quantities of things.
## Nested Resource Providers
https://review.openstack.org/#/q/status:open+topic:bp/nested-resource-providers
How to represent resources that are within other resources. Mostly to do with things like NUMA functionality and PCI devices hosted on a compute node.
## Docs
https://review.openstack.org/#/q/topic:cd/placement-api-ref
The start of creating an API ref for the placement API. Not a lot there yet as I haven't had much of an opportunity to move it along. There is, however, enough there for content to be started, if people have the opportunity to do so. Check with me to divvy up the work if you'd like to contribute.
## Claims into the Scheduler
This is something that will be talked about at the PTG as part of long term placement planning. Eventually requesting and claiming resources will be a single request to the placement API. We need to figure out the flow of how that is going to work.
# Other Code/Specs
Miscellaneous changes in progress. Bugs fixes, cleanups, leftovers. These need review and eventual merging.
* https://review.openstack.org/#/c/428612/
Better exception and response message when failing to create a
resource class.
* https://bugs.launchpad.net/nova/+bug/1635182
Fixing it so we don't have to add json_error_formatter everywhere.
There's a collection of related fixes attached to that bug report.
Pushkar, you might want to make all of those have the same topic, or
put them in a stack of related changes.
* https://review.openstack.org/#/q/status:open+topic:valid_inventories
Fixes that ensure that we only accept valid inventories when setting
them.
* https://review.openstack.org/#/c/416751/
Removing the Allocation.create() method which was only ever used in
tests and not in the actual, uh, creation of allocations.
* https://review.openstack.org/#/c/427330/
Avoid deprecation warnings from oslo_context.
* https://review.openstack.org/#/q/topic:bp/delete-inventories-placement-api
We need to be able to delete all the inventory hosted by one
resource provider in one request. Right now you need one delete for
each class of resource.
* https://review.openstack.org/#/c/418393/
A spec for improving the level of detail and structure in placement
error responses so that it is easier to distinguish between
different types of, for example, 409 responses.
* https://review.openstack.org/#/c/423872/
Spec for versioned-object based notification of events in the
placement API.
* https://review.openstack.org/#/c/392891/
CORS support in the placement API. We'll need this for browser-side
clients.
* https://review.openstack.org/#/c/382613/
A little demo script for showing how a cronjob to update inventory
on a shared resource provider might work. This has been around for a
long time, I created it because it seemed like having a sort of demo
would be good, but it's been sitting around for a long time. It may
not be aligned with what we need. If so I'd like to abandon it.
# Other Things
We started two etherpads to discuss plans for pike and the need for greater functional testing, but didn't make a ton of progress on either:
* https://etherpad.openstack.org/p/nova-scheduler-pike
* https://etherpad.openstack.org/p/nova-placement-functional
# End Matter
Thanks for reading this far. If you will be at the PTG next week, see you there. If you won't, we'll miss you and we'll make sure there's
information available that reflects what happened.
--
Chris Dent ¯\_(ツ)_/¯ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev
mailing list