[placement] update 19-08
Eric Fried
openstack at fried.cc
Fri Mar 1 15:00:04 UTC 2019
Thanks for restarting this, Chris. I've always found it informative and
helpful.
> * Microversion 1.31 adds `in_tree` and `in_treeN` query parameters
> to GET /allocation_candidates. This is useful in a variety of
> nested resource provider scenarios, including the big bandwidth QoS
> changes that are in progress in nova and neutron.
To expand on this: The bandwidth-related use case would be for e.g.
adding new QoS'd vifs to an existing instance. We would want to GET
/allocation_candidates from only those providers associated with the
compute node on which the instance already resides.
However, the original motivation for this effort was for the force_hosts
bug [1]. TL;DR: if you force_hosts in a big cloud, GET
/allocation_candidates either returns you an untenably long list; or you
can `?limit` it, but then there's a possibility that your desired host
won't be represented in the limited list. With ?in_tree, you can specify
the UUID of the host RP you're forcing and get back a very small number
of results (usually one, until you have bandwidth/VGPU/cyborg/etc. in
your provider tree) that are already filtered to the host you want.
in_tree may also help us (partially) resolve the famous "doubled
allocations on resize-to-same-host" bug [2]. But I don't fully
understand that one, so I'll leave it as a teaser :)
[1] https://bugs.launchpad.net/nova/+bug/1777591
[2] https://bugs.launchpad.net/nova/+bug/1790204
-efried
More information about the openstack-discuss
mailing list