Description of problem: On a scheduled RecipeSet, beakerd identifies an assigned system belonging to a lab controller which provides not enough systems to fulfil the entire RecipeSet. It correctly removes this systems in order for the scheduler to pick a system which would satisfy one from a lab controller with more systems. However it again assigns the same system resulting in a Job with the RecipeSet getting "stuck". Version-Release number of selected component (if applicable): 25.0 How reproducible: 100%? Steps to Reproduce: 1. Create a RecipeSet which more than two recipes 2. Make sure you have a system which is assigned to one lab controller (with no other systems assigned), and more systems assigned to another lab controller. 3. If one recipeset receives the first system, the RecipeSet will get stuck Actual results: RecipeSet stuck in Queued Expected results: RecipeSet processed and Completed Additional info: none
There was no test covering the "not enough systems" logic in its happy case. :-( I have added one. The actual regression fix is just a session.flush() call. https://gerrit.beaker-project.org/6046
Scheduled two self-tests in which the bug originated from. Both self tests ran through without scheduling problems. https://beaker-devel.app.eng.bos.redhat.com/jobs/14112 https://beaker-devel.app.eng.bos.redhat.com/jobs/14120
Beaker 25.1 has been released: https://beaker-project.org/docs/whats-new/release-25.html#beaker-25-1