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-sc... -- Thanks, Matt