[openstack-dev] [placement][nova] Decision time on granular request groups for like resources

Chris Friesen chris.friesen at windriver.com
Wed Apr 18 16:04:08 UTC 2018


On 04/18/2018 08:06 AM, Jay Pipes wrote:
> 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?"

I'm a bit conflicted.  On the one hand if we're talking about virtual resources 
like "vCPUs" then there's really no reason why they couldn't be sourced from the 
same resource provider.

On the other hand, once we're talking about *physical* resources it seems like 
it might be more common to want them to be coming from different resource 
providers.  We may want memory spread across multiple NUMA nodes for higher 
aggregate bandwidth, we may want VFs from separate PFs for high availability.

I'm half tempted to side with mriedem and say that there is no default and it 
must be explicit, but I'm concerned that this would make the requests a lot 
larger if you have to specify it for every resource.  (Will follow up in a reply 
to mriedem's post.)

> 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.

In either viewpoint, is there a way to represent "I want two resource groups, 
with resource X in each group coming from different resource providers 
(anti-affinity) and resource Y from the same resource provider (affinity)?

Chris



More information about the OpenStack-dev mailing list