[placement] update 18-49 - aggregate allocation ratios
Matt Riedemann
mriedemos at gmail.com
Fri Dec 7 17:08:59 UTC 2018
On 12/7/2018 6:58 AM, Chris Dent wrote:
> * <https://review.openstack.org/#/c/544683/>
> Account for host agg allocation ratio in placement
> (Still in rocky/)
Given https://bugs.launchpad.net/nova/+bug/1804125 and the discussion
with the operator in there, I've been thinking about this again lately.
We will soon [1] at least have the restriction documented but the
comment from the operator in that bug is painful:
"""
What's more distressing is that this appears to have produced a schism
between the intended, documented functions of Nova scheduler and the
actual operation of those functions on several consecutive releases of
OpenStack.
If the Aggregate* filters are no longer functional, and are no longer
intended to be so, then I would think they should reasonably have been
removed from the documentation and from the project so that deployers
wouldn't expect to rely on them.
"""
With https://review.openstack.org/#/q/topic:bp/initial-allocation-ratios
we at least have some sanity in nova-compute and you can control the
allocation ratios per-compute (resource provider) either via nova config
(the CERN use case) or the placement API using RBAC (the mgagne
scenario, with placement RBAC added in Rocky).
What is missing is something user-friendly for those that want to
control allocation ratios in aggregate from the API. In Dublin we said
we'd write an osc-placement CLI to help with this:
https://etherpad.openstack.org/p/nova-ptg-rocky-placement ~L37
But that didn't happen unfortunately. It doesn't mean we couldn't still
easily add that. That solution does require tooling changes from
deployers though.
The other alternative is Jay's spec which is to have nova-api
mirror/proxy allocation ratio information from the compute host
aggregates API to the placement API. Since Rocky the compute API already
mirrors aggregate information to placement, so this would be building on
that to also set allocation ratio information on each resource provider
within said aggregate in placement.
Part of me doesn't like that proxy work given our stance on no more
proxies [2] but on the other hand we definitely regressed our own
compute API (and scheduler) in Ocata, so it seems on us to provide the
most user-friendly (no upgrade impact) way to solve that.
Either way we go, at this point, doesn't it mean we can deprecate the
Aggregate* filters since they are essentially useless when using the
FilterScheduler and placement (remember the CachingScheduler is gone now)?
[1]
https://review.openstack.org/#/q/Ifaf596a8572637f843f47daf5adce394b0365676
[2]
https://docs.openstack.org/nova/latest/contributor/project-scope.html#api-scope
--
Thanks,
Matt
More information about the openstack-discuss
mailing list