[openstack-dev] [nova][placement] placement newton leftovers
Chris Dent
cdent+os at anticdent.org
Sun Oct 2 12:05:04 UTC 2016
A week or so ago, Jay posted a latest news on the placement API and
some plans for Ocata:
http://lists.openstack.org/pipermail/openstack-dev/2016-September/104443.html
We're gearing up for the next steps (traits, custom resource classes,
the scheduler using inventories, etc). This is awesome but lest we
forget them I've spent a bit of time coming up with a list of leftovers
for things we have already started and not quite finished. Some of these
we knew we were going to punt to Ocata, others are things that have come
up as a result of the work but were not in the original plan. Some are
things I thought up while in the bathtub so could be completely wrong.
Please check my work; I'm sure I've forgotten some things and care about
other things that most don't find relevant.
I'm posting this as it would be great to get some feedback on:
* which of these things matter
* what is missing from the list
* how (or if) we should formalize the doing of the work
* who would like to help out in the doing (getting some help is the main
goal, all the rest of is set up)
To avoid this being overly long I've kept description to a minimum. If
you'd like some clarification, please ask.
Once we've figured out some form of a plan I'll make sure it gets
recorded in the right place. Before that happens though, I'd like to
hash this out to a reasonable list.
I've added links to in progress stuff where I'm aware of it.
-=-=-
# Things Planned But Not Yet Done
* Aggregate handling
https://review.openstack.org/#/c/362863/
* Install docs
* API ref docs
* Resource tracker aware of shared resource providers
* Scheduler knows about inventories
* Object crud notifications
https://review.openstack.org/#/c/308503/
(way out of date)
* Inventory update example script
https://github.com/cdent/updateinv
(also rather out of date and very WIPpy, will be moved to
nova:contrib)
# Features Needed Sooner or Later
* Microversion handling
experiment at https://gist.github.com/cdent/de50cb05a7ab8219cd4f5b4ab3c181dd
(This is mostly the Nova way of handling things, modified to work with
the placement APIs classless style.)
* oslo_policy based authorization handling
Current auth is admin-role-required for everything
* Uncaught exception transformation
(there are a couple places where exceptions are rising out
of the placement app to be caught in FaultWrap, these are
supposed to become webob responses sooner)
* Optional placement db
https://review.openstack.org/362766
* More informative 404 handling
(bare exception.NotFound that don't say what's not found)
* Server retries allocations itself
* Expand discovery json doc
(current doc only reports microversions, not available resources)
* Add CORS support
(because we'd like things like horizon to be about to report usages)
* Allocations respecting min_unit etc
https://bugs.launchpad.net/nova/+bug/1623545
# Cleanup/Refactoring
* Hygienic refactoring (files that are too big, too multi purpose)
(resource_providers.py is huge and hold lots of objects, ditto for
test_resource_provider.py (unit and function))
* Refactor/clean/correct json schema to be more accurate readable and
enforcing
(current schemas are bug lumps, readability could be enhanced by
extracting the meaningful meat from the surrounding setup)
* Cleanup clarify wsgi.py/deploy.py overlap
(they are both performing some parts of setting up the wsgi app,
boundary unclear)
* Gabbi test decomposition
(too much per file)
* Decompose handler.py
(move routes elsewhere)
* Extract http handling in SchedulerReportClient to own file
# Testing Completeness
* Coverage audit and fix
(because that's just polite)
* Use optional placement db in a gate job
* Performance evaluation
(allocations per second on one inventory, allocations per second
across many inventories, where's the knee?)
* Tempest or other form of integration test
(currently we can only evaluate success of resource tracker +
placement api by lack of smoke, no real details)
--
Chris Dent ┬─┬ノ( º _ ºノ) https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev
mailing list