Placement update 25. Only 75 more to reach 100. # What Matters Most Claims against the placement API remain the highest priority. There's plenty of other work in progress too which needs to advance. Lots of links within. # What's Changed The entire shared resource providers stack has merged. This doesn't mean we have support for them yet, but rather that it is possible to express a query of the placement db that will include results that are associated (via aggregates) with shared resource providers. A new version of the os-traits library was required because the routine it was using to walk modules could escape the local package, leading to either brokenness or at least weirdness. Work has begun on having project and user id information included in allocations (see below). Incremental progress across many other areas. # Help Wanted (This section _has_ changed since last time, removing some bug links because the fixes have been started and are now linked below.) Areas where volunteers are needed. * 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). # Main Themes ## Claims in the Scheduler Work is in progress on having the scheduler make resource claims. https://review.openstack.org/#/q/status:open+topic:bp/placement-claims The current choice for how to do this is to pass instance uuids as a separate parameter in the RPC call to select_destinations. This information is required to be able to make the claims/allocations (which are identified by consumer uuid). ## Traits The main API is in place. Debate raged on how best to manage updates of standard os-traits. Eventually a simple sync done once per process seemed like the way to go, without having a cache: https://review.openstack.org/#/c/469578/ This needs to address some concurrency issues. There's also a small cleanup to the os-traits library: https://review.openstack.org/#/c/469631/ ## Shared Resource Providers The stack that makes the database side of things start to work has merged: https://review.openstack.org/#/q/status:merged+topic:bp/shared-resources-pike This will allow work on the API and resource-tracker/scheduler side to move along. ## Docs Lots of placement-related api docs in progress on a few different topics: * https://review.openstack.org/#/q/status:open+topic:cd/placement-api-ref * https://review.openstack.org/#/q/status:open+topic:placement-api-ref-add-resource-classes-put * https://review.openstack.org/#/q/status:open+topic:bp/placement-api-ref We should a) probably get that stuff on the same topic, b) make sure work is not being duplicated. ## Nested Resource Providers Work has resumed on nested resource providers. https://review.openstack.org/#/q/status:open+topic:bp/nested-resource-providers Currently having some good review discussion on data structures and graph traversal and search. It's a bit like being back in school. ## User and Project IDs in Allocations This will allow placement allocations to be considered when doing resource accounting for things like quota. User id and project id information is added to allocation records and a new API resource is added to be able to get summaries of usage by user or project. https://review.openstack.org/#/q/topic:bp/placement-project-user # Other Code/Specs * https://review.openstack.org/#/c/460147/ Use DELETE inventories method in report client. * https://review.openstack.org/#/c/427200/ Add a status check for legacy filters in nova-status. * https://review.openstack.org/#/c/454426/ Handle new hosts for updating instance info in scheduler Currently in merge conflict. * https://review.openstack.org/#/c/453916/ Don't send instance updates from compute if not using filter scheduler * https://review.openstack.org/#/q/project:openstack/osc-placement Work has started on an osc-plugin that can provide a command line interface to the placement API. It's quite likely that this code is going to need to be adopted by someone new. * https://review.openstack.org/#/c/457636/ Devstack change to install that plugin. This has two +2, but no +W. * https://review.openstack.org/#/c/469037/ Cleanups for _schedule_instances() * https://review.openstack.org/#/c/469047/ Update placement.rst to link to more specs * https://review.openstack.org/#/c/469048/ Provide more information about installing placement * https://review.openstack.org/#/c/468928/ Disambiguate resource provider conflict message * https://review.openstack.org/#/c/468923/ Adjust resource provider links by microversion # End I was unable to go digging for things as much as usual this week due to other business. If I've missed something, my apologies, please add it to the thread in a followup. Your prize is some cornish clotted cream. -- Chris Dent ┬──┬◡ノ(° -°ノ) https://anticdent.org/ freenode: cdent tw: @anticdent