[openstack-dev] [nova] [placement] placement update 18-10
Chris Dent
cdent+os at anticdent.org
Fri Mar 9 12:46:12 UTC 2018
Welcome back to your regularly scheduled placement update. I'm still
gathering loose ends from the PTG, so plenty of this will be context
setting, but I'll try to provide the usual too many links.
As mentioned in the last update I'm going to adjust these reports a
bit to make them a bit more focused and also (I hope) shrink the
amount of time it takes to create them. The main visible changes
are:
* The name: it will just be "placement update" now as resource
providers doesn't really cover it.
* I'm going to focus more on reviews and specs that are directly
focused on how placement is changing or used, and less on those
that are "nova using placement as it is". This is not to suggest
that that work is in any way less important, simply an acceptance
that there's a lot of work in progress and this can't cover all of
it. Also there's a useful boundary there that we want to keep as
strong as possible. So, for example, the way in which minimum
bandwidth requirements will use traits is not in, but the fact
that that work may require a way to merge traits is.
* I'm adding a section on placement extraction. This is one of my
primary occupations at the moment, so I'd like to keep track of
it somewhere, here seems good. That work also informs the "useful
boundary" stuff above.
* A questions section has been added for things that seem important
but I don't know about, discovered while creating these things.
# Most Important
Jay posted a good review of what happened at the PTG and how it will
impact priorities:
http://lists.openstack.org/pipermail/openstack-dev/2018-March/128041.html
There are few specs that came out of that, or were already in
progress, listed below.
Some of the items in Jay's message are TODOs that need a volunteer
to blueprint and spec.
In the meantime many things are dependent on the update provider
tree work, so getting that merged sooner than later is important.
# What's Changed
A big new concept from the PTG is the idea of consumer uuid's
getting a generation so that allocations for a single consumer can
be managed from multiple parties and those parties can "confirm
their view".
There's also code in progress such that a generation is available
immediately when first creating a resource provider. And code to
ensure that generations are used when managing aggregates.
There's a bit of theme here.
# Questions
What's the status of shared resource providers? Did we even talk
about that in Dublin?
# Bugs
* Placement related bugs without owners: https://goo.gl/TgiPXb
* In progress placement bugs: https://goo.gl/vzGGDQ
# Specs
* https://review.openstack.org/#/c/497733/2
Report CPU features to placement service by traits API
* https://review.openstack.org/#/c/548903/
Return Generation from Resource Provider Creation
* https://review.openstack.org/#/c/550244/
Propose standardized provider descriptor file
* https://review.openstack.org/#/c/548915/
Express forbidden traits in placement API
* https://review.openstack.org/#/c/549067/
VMware: place instances on resource pool
(using update_provider_tree)
* https://review.openstack.org/#/c/549184/
Spec: report client placement version discovery
* https://review.openstack.org/#/c/548237/
Update placement aggregates spec to clarify generation handling
* https://review.openstack.org/#/c/418393/
Provide error codes for placement API
* https://review.openstack.org/#/c/502575/
WIP:Specification for using cache as a resource using cache
allocation support
(This is something that probably should be more placement oriented
than it currently is.)
* https://review.openstack.org/#/c/545057/
mirror nova host aggregates to placement API
* https://review.openstack.org/#/c/541507/
Support traits in Glance
# Main Themes
## Update Provider Tree
The ability of virt drivers to represent what resource providers
they know about--whether that be numa, or clustered resources--is
supported by the update_provider_tree method. Part of it is done,
but some details remain:
https://review.openstack.org/#/q/topic:bp/update-provider-tree
## Request Filters
These are a way for the nova scheduler to doctor the request being
sent to placement, using a sane interface.
https://review.openstack.org/#/q/topic:bp/placement-req-filter
## Mirror nova host aggregates to placement
This makes it so some kinds of aggregate filtering can be done
"placement side" by mirroring nova host aggregates into placement
aggregates.
https://review.openstack.org/#/q/topic:bp/placement-mirror-host-aggregates
## Forbidden Traits
A way of expressing "I'd live resources that do _not_ have trait X".
Just a spec so far:
https://review.openstack.org/#/q/topic:bp/placement-forbidden-traits
## Consumer Generations
Not yet started.
# Extraction
I wrote up an email with the current state of and plan for
extracting placement to its own project:
http://lists.openstack.org/pipermail/openstack-dev/2018-March/128004.html
There's plenty of volunteer opportunities in there. One fairly major
task is to create an os-resource-classes lib, akin to os-traits.
Related code:
* move resource provider objects
https://review.openstack.org/#/c/540049/
(The base of that stack needs to be split into smaller pieces.)
# Other
* https://review.openstack.org/#/c/546660/
Purge comp_node and res_prvdr records during deletion of
cells/hosts
* https://review.openstack.org/#/c/545729/
Set [scheduler]workers=$API_WORKERS
* https://review.openstack.org/#/c/159382/
Scheduler multiple workers support
* https://review.openstack.org/#/c/547812/
Migrate legacy-osc-placement-dsvm-functional job in-tree
* https://review.openstack.org/#/q/topic:bp/placement-osc-plugin-rocky
A huge pile of improvements to osc-placement
* https://review.openstack.org/#/q/topic:bp/generation-from-create-provider
Get a generation when posting to create a new rp
* https://review.openstack.org/#/c/548249/
placement: generation in provider aggregate APIs
* https://review.openstack.org/#/c/548983/
report client: placement API version discovery
* https://review.openstack.org/#/c/546713/
Add compute capabilities traits (to os-traits)
* https://review.openstack.org/#/c/550873/
Add HW_NIC_SRIOV_TRUSTED trait
* https://review.openstack.org/#/c/532924/
Add default values for allocation ratios
* https://review.openstack.org/#/c/524425/
General policy sample file for placement
* https://review.openstack.org/#/c/546177/
Provide framework for setting placement error codes
# End
Feh, that certainly didn't end up any smaller. Mostly because of
specs. Go read some specs!
--
Chris Dent (⊙_⊙') https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev
mailing list