yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #57196
[Bug 1628530] Re: Rescheduling an instance leaves it in a scheduling state and never succeeds
Reviewed: https://review.openstack.org/378636
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9b090aeb7e2d4e4adc0b2a80402cbfb09830bd94
Submitter: Jenkins
Branch: master
commit 9b090aeb7e2d4e4adc0b2a80402cbfb09830bd94
Author: Andrew Laski <andrew@xxxxxxxxxx>
Date: Wed Sep 28 09:47:12 2016 -0400
Ignore BuildRequest during an instance reschedule
When booting an instance there is logic in the conductor to check if a
delete has been issued. This is done by looking for a BuildRequest
object and discontinuing the build if it's not found. However the
conductor then deletes the BuildRequest so a reschedule attempt will not
find the BuildRequest object. This incorrectly stops the reschedule.
The filter_properties dict is updated with the number of scheduling
attempts for each reschedule so by looking at the value found there we
know if a reschedule is being attempted. If that's the case then bypass
the logic that checks for, and deletes, the BuildRequest object.
Change-Id: Ibf28d1d8f54703b465ccc497281419356cd0136e
Closes-Bug: 1628530
** Changed in: nova
Status: In Progress => Fix Released
--
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/1628530
Title:
Rescheduling an instance leaves it in a scheduling state and never
succeeds
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) newton series:
In Progress
Bug description:
mamandle reported to me on IRC that commit
https://github.com/openstack/nova/commit/f577f650c7ca9d8dd66eaec919e4805c09d16f6d
broke reschedules. Looking at it I see the issue which is that on a
reschedule there is no BuildRequest object in the db so the logic that
checks for that will stop the build attempt from progressing further.
That code is in place to handle the case where a delete happens during
the build process but did not properly account for reschedules.
In the case of a reschedule instance.launched_on will be set so we can
bypass looking for the BuildRequest object in that case. Since the
BuildRequest was deleted during the first scheduling pass it's okay to
do that.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1628530/+subscriptions
References