← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1792503] [NEW] allocation candidates "?member_of=" doesn't work with nested providers

 

Public bug reported:

"GET /allocation_candidates" now supports "member_of" parameter.
With nested providers present, this should work with the following constraints.

---------------------------------------------
(a)  With "member_of" qparam, aggregates on the root should span on the whole tree

If a root provider is in the aggregate, which has been specified by "member_of" qparam,
the resource providers under that root can be in allocation candidates even the root is absent.

(b) Without "member_of" qparam, sharing resource provider should be
shared with the whole tree

If a sharing provider is in the same aggregate with one resource provider (rpA),
and "member_of" hasn't been specified in qparam by user, the sharing provider can be in
allocation candidates with any of the resource providers in the same tree with rpA.

(c) With "member_of" qparam, the range of the share of sharing resource
providers should shrink to the resource providers "under the specified
aggregates" in a tree.

Here, whether the rp is "under the specified aggregates" is determined with the constraints of (a). Namely, not only rps that belongs to the aggregates directly are "under the aggregates",
but olso rps whose root is under the aggregates are also "under the aggregates".
---------------------------------------------

So far at Stein PTG time, 2018 Sep. 13th, this constraint is broken in the point that
when placement picks up allocation candidates, the aggregates of nested providers
are assumed as the same as root providers. This means it ignores the aggregates of
the nested provider itself. This could result in the lack of allocation candidates when
an aggregate which on a nested provider but not on the root has been specified in
the `member_of` query parameter.

This bug is well described in a test case which is submitted shortly.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: placement

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1792503

Title:
  allocation candidates "?member_of=" doesn't work with nested providers

Status in OpenStack Compute (nova):
  New

Bug description:
  "GET /allocation_candidates" now supports "member_of" parameter.
  With nested providers present, this should work with the following constraints.

  ---------------------------------------------
  (a)  With "member_of" qparam, aggregates on the root should span on the whole tree

  If a root provider is in the aggregate, which has been specified by "member_of" qparam,
  the resource providers under that root can be in allocation candidates even the root is absent.

  (b) Without "member_of" qparam, sharing resource provider should be
  shared with the whole tree

  If a sharing provider is in the same aggregate with one resource provider (rpA),
  and "member_of" hasn't been specified in qparam by user, the sharing provider can be in
  allocation candidates with any of the resource providers in the same tree with rpA.

  (c) With "member_of" qparam, the range of the share of sharing
  resource providers should shrink to the resource providers "under the
  specified aggregates" in a tree.

  Here, whether the rp is "under the specified aggregates" is determined with the constraints of (a). Namely, not only rps that belongs to the aggregates directly are "under the aggregates",
  but olso rps whose root is under the aggregates are also "under the aggregates".
  ---------------------------------------------

  So far at Stein PTG time, 2018 Sep. 13th, this constraint is broken in the point that
  when placement picks up allocation candidates, the aggregates of nested providers
  are assumed as the same as root providers. This means it ignores the aggregates of
  the nested provider itself. This could result in the lack of allocation candidates when
  an aggregate which on a nested provider but not on the root has been specified in
  the `member_of` query parameter.

  This bug is well described in a test case which is submitted shortly.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1792503/+subscriptions


Follow ups