Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1705930

Summary: Build of instance 67f24420-626e-4a2a-814e-2a5f57158455 was re-scheduled: Anti-affinity instance group policy was violated
Product: Red Hat OpenStack Reporter: Eduard Barrera <ebarrera>
Component: openstack-novaAssignee: Artom Lifshitz <alifshit>
Status: CLOSED DUPLICATE QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 13.0 (Queens)CC: alifshit, dasmith, eglynn, fpalin, jhakimra, kchamart, mbooth, mburns, sbaker, sbauza, sgordon, shardy, vromanso, vvoronko
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-14 15:17:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 3 Artom Lifshitz 2019-05-03 17:11:53 UTC
The observed behaviour is normal because of the late anti-affinity check on the compute node. Because the scheduler only schedules one instance at a time with no knowledge of other instances being scheduled, it cannot take into account anti-affinity rules between two instances in the process of being scheduled. For example, if instance A and B are anti-affined from each other, the scheduler can send them both to compute host X, and only when instance B starts building on X will the late anti-affinity check kick in and send instance B back up to the scheduler.

One thing that we could probably do is not count that kind of reschedule as a failed build. I can bring that upstream, and if it's accepted we could then backport that to 13.

The reason this "worked" in Newton is that back in Newton there was no concept of build failures in Nova.

As a shot-term solution, the BuildFailureWeigher (that controls scheduling of instances to compute nodes with build failures) can be disabled by setting [filter_scheduler]/build_failure_weight_multiplier = 0.

Comment 10 Artom Lifshitz 2019-06-14 15:17:23 UTC
Looks like the discussion is continuing in bz 1701334. I'm going to close this BZ as a duplicate. If this is wrong and there is a bug here that's different from 1701334 to be addressed, by all means please re-open this bz.

*** This bug has been marked as a duplicate of bug 1701334 ***