yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #22308
[Bug 1373478] [NEW] filter scheduler makes invalid assumption of monotonicity
Public bug reported:
The current filter scheduler handles the scheduling of a homogenous
batch of N instances with a loop that assumes that a host ruled out in
one iteration can not be desirable in a later iteration --- but that is
a false assumption.
Consider the case of a filter whose purpose is to achieve balance across
some sort of areas. These might be AZs, host aggregates, racks,
whatever. Consider a request to schedule 4 identical instances; suppose
that there are two hosts, one in each of two different areas, initially
hosting nothing. For the first iteration, both hosts pass this filter.
One gets picked, call it host A. On the second iteration, only the
other host (call it B) passes the filter. So the second instance goes
on B. On the third iteration, both hosts would pass the filter but the
filter is only asked about host B. So the third instance goes on B. On
the fourth iteration, host B is unacceptable but that is the only host
about which the filter is asked. So the scheduling fails with a
complaint about no acceptable host found.
** 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/1373478
Title:
filter scheduler makes invalid assumption of monotonicity
Status in OpenStack Compute (Nova):
New
Bug description:
The current filter scheduler handles the scheduling of a homogenous
batch of N instances with a loop that assumes that a host ruled out in
one iteration can not be desirable in a later iteration --- but that
is a false assumption.
Consider the case of a filter whose purpose is to achieve balance
across some sort of areas. These might be AZs, host aggregates,
racks, whatever. Consider a request to schedule 4 identical
instances; suppose that there are two hosts, one in each of two
different areas, initially hosting nothing. For the first iteration,
both hosts pass this filter. One gets picked, call it host A. On the
second iteration, only the other host (call it B) passes the filter.
So the second instance goes on B. On the third iteration, both hosts
would pass the filter but the filter is only asked about host B. So
the third instance goes on B. On the fourth iteration, host B is
unacceptable but that is the only host about which the filter is
asked. So the scheduling fails with a complaint about no acceptable
host found.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1373478/+subscriptions
Follow ups
References