[openstack-dev] [nova] placement/resource providers update 16
Chris Dent
cdent+os at anticdent.org
Fri Mar 24 12:43:50 UTC 2017
Here's your weekly dose of resource provides and placement news.
# What Matters Most
Traits are still top of the priority stack. Links below. There's
some need to start thinking about claims. More on that, also below.
# What's Changed
The `nova.api.openstack.placement.microversion.version_handler`
decorator now accepts only strings. It was accepting floats and
inputs and processing strings as input and that's wrong:
https://bugs.launchpad.net/nova/+bug/1675143
On the client side, for now the plan is to not create a
python-placementclient (as simple wraps of keystoneauth1 work well)
but instead to have an OSC plugin for command line calls. The infra
and governance changes for that are at:
https://review.openstack.org/#/c/448115/
https://review.openstack.org/#/c/448117/
Other than that we're making incremental progress across the board.
# Help Wanted
dims suggested that this document needed a help wanted section, to
highlight areas where volunteers are needed. That seems like a good
idea. This section will adapt over time, depending on how people
react to it. There are three main areas where help would be very
useful:
* General attention to bugs tagged placement:
https://bugs.launchpad.net/nova/+bugs?field.tag=placement
* Helping to create api documentation for placement (see the Docs
section below).
* Helping to create and evaluate functional tests of the resource
tracker and the ways in which it and nova-scheduler use the
reporting client. For some info see
https://etherpad.openstack.org/p/nova-placement-functional
and talk to edleafe.
# Main Themes
## Traits
The work to implement the traits API in placement is happening at
https://review.openstack.org/#/q/status:open+topic:bp/resource-provider-traits
It's getting close. The sooner we get that happy, the sooner we can
make progress on the rest of the themes.
## Ironic/Custom Resource Classes
The main work to support this was merged, but then some tripleo (I
think?) testing exposed an issue with how min_unit was being
managed, fixed in:
https://review.openstack.org/#/c/448098/
The original code was assuming there would never be
under-subscription. This, turns out, is a bad assumption.
A spec for "custom resource classes in flavors" that describes the
stuff that will actually make use of this functionality has merged:
https://review.openstack.org/#/c/446570/
Over in ironic some functional and integration tests have started:
https://review.openstack.org/#/c/443628/
## Claims in the Scheduler
This topic was briefly touched upon in the scheduler team meeting
and then again in the full nova meeting. The gist is that we need to
be sure we are all talking about the same thing(s) when we use the
phrase "Claims in the Scheduler", because it is a broad topic and we
want to be sure that when we write a spec it accurately discusses
what the overarching processes are, not simply how to satisfy them.
The hope is that by doing that we'll ensure we get everyone on the
same page, one that happens to be correct.
A "Super WIP" spec for claims in the scheduler was started at
https://review.openstack.org/#/c/437424/
## Shared Resource Providers
https://blueprints.launchpad.net/nova/+spec/shared-resources-pike
Progress on this will continue once traits and claims have moved forward.
## Nested Resource Providers
https://review.openstack.org/#/q/status:open+topic:bp/nested-resource-providers
or
https://review.openstack.org/#/c/415920/
According to mriedem, the nested-resource provider spec
<https://review.openstack.org/#/c/386710/> should be updated to
reflect the flipboard discussion from the PTG (reported in this
space two weeks ago) about multi-parent providers and how they
aren't going to happen. Previous email:
http://lists.openstack.org/pipermail/openstack-dev/2017-March/113332.html
## 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 additional content to be
started, if people have the opportunity to do so. Check with me
(cdent) if you'd like to contribute.
Andrey Volkov has volunteered to help with some of this, but more
help is needed on two fronts:
* Figuring out how to set up api-ref publishing infra jobs for
placement when the existing jobs for that sort of thing assume any
given repo will only have one api-ref. Andrey has just this very
minute made something for that (yay!):
https://review.openstack.org/#/c/449557/
* Adding content for each of the several resource handlers in the
placement service.
## Performance
We're aware that there are some redundancies in the resource tracker
that we'd like to clean up
http://lists.openstack.org/pipermail/openstack-dev/2017-January/110953.html
but it's also the case that we've done no performance testing on the
placement service itself.
We ought to do some testing to make sure there aren't unexpected
performance drains.
# Other Code/Specs
(A lot of the stuff listed last week has merged. \o/)
* https://review.openstack.org/#/c/416669/
DELETE all inventories on one resource provider. This merged,
which means it should now be possible to update the resource tracker
to use it.
* 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. We had some discussion in the weekly subteam
meeting about what the use cases are for this, starting
http://eavesdrop.openstack.org/meetings/nova_scheduler/2017/nova_scheduler.2017-03-06-14.00.log.html#l-120
The gist is: "we should do this when we can articulate the
problem the notifications will solve". Comment on the review if
you have some opinions on that.
* https://review.openstack.org/#/c/448791/
Idempotent PUT for resource classes. This is something that was
discovered while evaluating some resource tracker code. Has a bp
but probably needs a spec:
https://blueprints.launchpad.net/nova/+spec/placement-put-resource-class
* https://review.openstack.org/#/c/444065/
Fixing a typo in the resource providers spec.
* https://review.openstack.org/#/c/448282/
https://review.openstack.org/#/c/448283/
Two changes in the os-traits library. One for adding some
networking related traits, another for restructuring the library
to remove some boilerplate.
* https://review.openstack.org/#/c/447401/
Adding a reference to resource provide traits spec about the
os-traits library.
* https://bugs.launchpad.net/nova/+bug/1661312
Race condition for allocations during evacuation. Known bug, not
sure of solution. Needs an owner.
* https://bugs.launchpad.net/nova/+bug/1632852
Cache headers not produced by placement API. This was assigned to
several different people over time, but I'm not sure if there is
any active code.
* https://etherpad.openstack.org/p/placement-newton-leftovers
There's still some lingering stuff on here, some of which is
mentioned elsewhere in this message, but not all.
# End
You made it!
--
Chris Dent ¯\_(ツ)_/¯ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev
mailing list