← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1731072] [NEW] AllocationCandidates.get_by_filters returns garbage with multiple aggregates

 

Public bug reported:

I set up a test scenario with multiple providers (sharing and non),
across multiple aggregates.  Requesting allocation candidates gives some
candidates as expected, but some are garbled.  Bad behaviors include:

(1) When inventory in a given RC is provided both by a non-sharing and a sharing RP in an aggregate, the sharing RP is ignored in the results (this is tracked via https://bugs.launchpad.net/nova/+bug/1724613)
(2) When inventory in a given RC is provided solely by a sharing RP, I don't get the expected candidate where that sharing RP provides that inventory and the rest comes from the non-sharing RP.
(3) The above applies when there are multiple sharing RPs in the same aggregate providing that same shared resource.
(4) ...and also when the sharing RPs provide different resources.

And we get a couple of unexpected candidates that are really garbled:

(5) Where there are multiple sharing RPs with different resources, one candidate has the expected resources from the non-sharing RP and one of the sharing RPs, but is missing the third requested resource entirely.
(6) With that same setup, we get another candidate that has the expected resource from the non-sharing RP; but duplicated resources spread across multiple sharing RPs from *different* *aggregates*.  This one is also missing one of the requested resources entirely.

I will post a commit shortly that demonstrates this behavior.

** Affects: nova
     Importance: Undecided
         Status: New

-- 
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/1731072

Title:
  AllocationCandidates.get_by_filters returns garbage with multiple
  aggregates

Status in OpenStack Compute (nova):
  New

Bug description:
  I set up a test scenario with multiple providers (sharing and non),
  across multiple aggregates.  Requesting allocation candidates gives
  some candidates as expected, but some are garbled.  Bad behaviors
  include:

  (1) When inventory in a given RC is provided both by a non-sharing and a sharing RP in an aggregate, the sharing RP is ignored in the results (this is tracked via https://bugs.launchpad.net/nova/+bug/1724613)
  (2) When inventory in a given RC is provided solely by a sharing RP, I don't get the expected candidate where that sharing RP provides that inventory and the rest comes from the non-sharing RP.
  (3) The above applies when there are multiple sharing RPs in the same aggregate providing that same shared resource.
  (4) ...and also when the sharing RPs provide different resources.

  And we get a couple of unexpected candidates that are really garbled:

  (5) Where there are multiple sharing RPs with different resources, one candidate has the expected resources from the non-sharing RP and one of the sharing RPs, but is missing the third requested resource entirely.
  (6) With that same setup, we get another candidate that has the expected resource from the non-sharing RP; but duplicated resources spread across multiple sharing RPs from *different* *aggregates*.  This one is also missing one of the requested resources entirely.

  I will post a commit shortly that demonstrates this behavior.

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


Follow ups