In Fedora/RISC-V we are doing a lot of manual scheduling. We have machines in different buckets: - Strong single-thread performance - Many-core, low single-thread performance - High-memory - [..]
Also sometimes we want a task to land on a particular board because it implements different ISA extensions.
We are using to schedule (i.e. assign-task) to particular boards depending on the build. Basically having individual queues per build machine. Then we control the order based on task priority.
This doesn't work on newer Koji with scheduler updates. This seems to be due to assignment timeout.
% koji -p riscv scheduler-info --task 15457 Task Host State Created Started Ended -------------------------------------------------------------------------------------------- 15457 buildhw-riscv-20.fedoraproject.org OPEN 25-09-19 12:15:43 25-09-19 12:22:50 15457 buildhw-riscv-03.fedoraproject.org OPEN 25-09-19 12:16:29 25-09-19 12:22:50 15457 buildhw-riscv-20.fedoraproject.org OPEN 25-09-19 12:22:44 25-09-19 12:22:50 % koji -p riscv scheduler-logs --task 15457 Task Host Time Message ---------------------------------------------------------------------------------------- 15457 buildvm-x86-riscv01.rdu3.fedoraproject.org Fri Sep 19 12:15:39 2025 Host refused task: automatic arch refusal 15457 buildvm-x86-riscv02.rdu3.fedoraproject.org Fri Sep 19 12:15:39 2025 Host refused task: automatic arch refusal 15457 buildhw-riscv-20.fedoraproject.org Fri Sep 19 12:15:43 2025 Assigning task 15457 buildhw-riscv-03.fedoraproject.org Fri Sep 19 12:16:29 2025 Assigning task 15457 buildhw-riscv-03.fedoraproject.org Fri Sep 19 12:21:44 2025 Host refused task: assignment timeout 15457 buildhw-riscv-03.fedoraproject.org Fri Sep 19 12:21:44 2025 Task assignment timeout 15457 buildhw-riscv-20.fedoraproject.org Fri Sep 19 12:22:44 2025 Assigning task
If a admin manually assigns a task to a particular builder we would prefer scheduler not to change that. Once it's done processing assigned tasks it could do a standard thing.
I had a quick look at API for assignTask. There seems to be:
assignTask
Specify override=True to prevent the scheduler from reassigning later
Maybe that's what should be exposed to CLI?
Ah, yes, sorry for the oversight there. In the short term you can use the direct api call. E.g.
$ koji -p riscv call assignTask TASKID SOMEHOST override=True
Metadata Update from @mikem: - Custom field Size adjusted to None
Metadata Update from @mikem: - Issue set to the milestone: 1.36
PR 4486
Metadata Update from @mikem: - Issue tagged with: testing-basic
Metadata Update from @mfilip: - Issue tagged with: testing-done
Commit 68f7f97b fixes this issue
Commit da74a504 fixes this issue
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/koji/koji/issues/4465
Please continue any further discussion there.