[openstack-dev] [placement][nova] Decision time on granular request groups for like resources
Jay Pipes
jaypipes at gmail.com
Wed Apr 18 14:06:21 UTC 2018
Stackers,
Eric Fried and I are currently at an impasse regarding a decision that
will have far-reaching (and end-user facing) impacts to the placement
API and how nova interacts with the placement service from the nova
scheduler.
We need to make a decision regarding the following question:
"By default, should resources/traits submitted in different numbered
request groups be supplied by separate resource providers?"
There are two competing proposals right now (both being amendments to
the original granular request groups spec [1]) which outline two
different viewpoints.
Viewpoint A [2], from me, is that like resources listed in different
granular request groups should mean that those resources will be sourced
from *different* resource providers.
In other words, if I issue the following request:
GET /allocation_candidates?resources1=VCPU:1&resources2=VCPU:1
Then I am assured of getting allocation candidates that contain 2
distinct resource providers consuming 1 VCPU from each provider.
Viewpoint B [3], from Eric, is that like resources listed in different
granular request groups should not necessarily mean that those resources
will be sourced from different resource providers. They *could* be
sourced from different providers, or they could be sourced from the same
provider.
Both proposals include ways to specify whether certain resources or
whole request groups can be forced to be sources from either a single
provider or from different providers.
In Viewpoint A, the proposal is to have a can_split=RESOURCE1,RESOURCE2
query parameter that would indicate which resource classes in the
unnumbered request group that may be split across multiple providers
(remember that viewpoint A considers different request groups to
explicitly mean different providers, so it doesn't make sense to have a
can_split query parameter for numbered request groups).
In Viewpoint B, the proposal is to have a separate_providers=1,2 query
parameter that would indicate that the identified request groups should
be sourced from separate providers. Request groups that are not listed
in the separate_providers query parameter are not guaranteed to be
sourced from different providers.
I know this is a complex subject, but I thought it was worthwhile trying
to explain the two proposals in as clear terms as I could muster.
I'm, quite frankly, a bit on the fence about the whole thing and would
just like to have a clear path forward so that we can start landing the
12+ patches that are queued up waiting for a decision on this.
Thoughts and opinions welcome.
Thanks,
-jay
[1]
http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html
[2] https://review.openstack.org/#/c/560974/
[3] https://review.openstack.org/#/c/561717/
More information about the OpenStack-dev
mailing list