Reserving a machine for koji ci channel #13069
Labels
No labels
announcement
anubis
authentication
aws
backlog
blocked
bodhi
ci
cloud
communishift
copr
database
day-to-day
dc-move
deprecated
dev
discourse
dns
downloads
easyfix
epel
firmitas
forgejo_migration
Gain
High
Gain
Low
Gain
Medium
gitlab
greenwave
hardware
help wanted
high-trouble
koji
koschei
lists
low-trouble
medium-trouble
mirrorlists
monitoring
Needs investigation
odcs
OpenShift
ops
outage
packager_workflow_blocker
pagure
permissions
Priority
Needs Review
Priority
Next Meeting
Priority
🔥 URGENT 🔥
Priority
Waiting on Assignee
Priority
Waiting on External
Priority
Waiting on Reporter
rabbitmq
release-monitoring
releng
request-for-resources
s390x
security
SMTP
sprint-0
sprint-1
src.fp.o
staging
unfreeze
waiverdb
websites-general
wiki
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
infra/tickets#13069
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description of request
During the mass rebuild, the default channel is occupied by the rebuilds for the whole week, often leading to deprioritized jobs to end up with a multi-day scratch-build duration. On Fedora CI this means that PR jobs are effectively down this whole time since it cannot support that long of a queue. Things may improve with packit and forgejo, but still it is not a good experience for the whole PR stack to be down completely.
The question here if it is possible to reserve a machine or a few slots which would have the
cichannel priority increased compared to the default, and at least part of the queue is moving forward?I have tried to bring this topic to rel-eng also, but did not get any feedback, so maybe they can be pinged here to try and get some feedback again in an async discussion.
well, for x86_64 and aarch64 that wouldn't be a big deal. For ppc64le it's less great, and for s390x it's... not good because we have few of them and want to use them all if we can.
Even if we assign a machine per arch for just ci, it would be pretty slow still... all it takes is a few llvm's and then ugh.
I suppose we could look at making ci jobs slightly higher pri than mass rebuild jobs? That would slow the mass rebuild down, but then ci jobs would still happen. What pri do they current set?
@kevin wrote in #13069 (comment):
Iirc it is something like 23 vs 24.
I would prefer not to slow down mass rebuild (at least as much as possible), what options could we consider? Maybe we can add a throttle on Fedora CI side, but doing that in jenkins might be quite more effort, so maybe in the packit variant.
Indeed could 🤞that those teams take mercy on the infra during that time, but python was having PRs then also, so probably not.
Other suggestions of how to improve UX are also welcome of course. I was considering making it more visible on packit side the state of these rebuilds, or having a warning banner in the src.fp.o about the state (I thought we do, but did not see it in this mass rebuild?)
So, I am not sure what we can do here. I haven't come up with any brilliant ideas.
To consider though, mass rebuilds have been taking like 3-4 days and 2 of those are weekend days (we plan to start tuesday, but all recent attempts have been delayed until wed or thursday), so the length of time is not too large. Perhaps this isn't worth trying to optimize for?
It might be worth just kicking out everything but x86_64 and aarch64 from the CI channel until we have the proper size of machine resources.
Do note that
cichannel has almost no consumers anymore (only 1 test that runs when one of 16 packages is updated). The triple scratch build is over now, but packit is not part of thecichannel right now.Also, if https://github.com/fedora-infra/koji-fedoramessaging/issues/155 can be resolved, everything would be fine with any approach
Yeah, I don't think it's good to add packit to the ci channel because it's not just doing ci, but also doing real builds when maintainers tell it to, right?
Yeah, I don't know how feasable that is to do... I think currently it waits for the build to complete before sending anything, but perhaps @abompard could look?
Splitting the packit user might help with that? packit-ci vs packit
When I last checked it, we can combine the conditions of
user: packitandtype: scratch-build(not exact quotes, but you get the idea)yeah, thats likely true. I could look at that after the freeze is over.
infra/ansible#3295
should do it I think.