Stop publishing .ci. messages? #562
Labels
No labels
area/installability
area/jenkins
area/rpmdeplint
area/rpminspect
area/STI
area/STI-compat
area/Testing Farm
area/tmt
area/Zuul CI
blocked
bug
discussion
feature
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Type
Help
Type
Incident
UX
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Status/Blocked
Status/Discuss
Type
Bug
Type
Feature
Type
Task
No milestone
No project
3 participants
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
ci/tickets#562
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?
We currently publish various .ci. messages - the ones with a schema documented at https://forge.fedoraproject.org/ci/messages . For Fedora CI, the pipelines do this using the
sendMessagefunction provided by https://github.com/fedora-ci/jenkins-pipeline-library . For openQA we have a plugin in the package which subclasses openQA's built-in AMQP plugin and makes it send CI Messages-format messages as well as its native messages.The thing is...we don't really need these messages. This whole system was designed to be consistent with usage in CentOS and RHEL, but they are now moving away to pull request-based testing and AFAICT consider this whole setup to be "legacy". In Fedora-land, best as I can tell, there are only two things listening to .ci. messages:
There is also a consumer in Bodhi, but I'm fairly sure it is currently disabled, and it's redundant; I've sent a PR to remove it.
ci-resultsdb-listener converts messages to resultsdb results and submits them to resultsdb. I propose we should simply have the pipelines submit results to resultsdb directly: swap the "message sending" code out for "resultsdb reporting" code. The net complexity in the pipelines would be about the same, but we could get rid of ci-resultsdb-listener entirely, so overall things get simpler. We could also possibly get rid of the ci/messages repo if nobody else wants it for anything.
For openQA we could simply ditch the plugin, which would be great for me, I wouldn't have to make sure it works at every openQA upgrade any more.
resultsdb already publishes messages for each submitted result, so the ci messages are really pretty redundant: we send a message mainly to have it turned into a result, which...triggers a message.
For the containertools openqa-listener, it should be pretty easy to just have it use resultsdb messages instead of ci messages. The thing it's doing is pretty simple. I will file a ticket on it, and if we go ahead with this plan, I can probably find the time to update/enhance that listener to do exactly what @luap99 wants it to do.
CC @kevin @msrb @mvadkert for thoughts. If there's anyone else RH-y who might have thoughts on this please add them!
Issue for containertools.
The only place that I think could be useful is if testing-farm would be publishing those and/or these would be consumed by a dashboard. But that's probably just wishful thinking, and we could just bring it back in a more modern home either under packit or toddlers?
The only place that comes to mind for me is https://github.com/fedora-ci/ciboard, which apparently got fixed and was being used by someone? @mvadkert made an announcement about it a while back
I mean, on the face of it, I think any idea that could use the .ci. messages could also just use resultsdb.result.new messages. They're published for every result and contain all the data in the result, and we control our own result submission, so effectively they can contain whatever we want them to. Heck, we could precisely re-create the entire ci message schema inside the result extradata if we wanted (let's not, though).
I don't think Fedora ever had a CI Dashboard instance? I think that announcement you're remembering was internal; IIRC, the internal instance was initially going to be retired, lots of people complained, then Miro announced it was back because someone was going to maintain it. Wherever that's happening, though, it doesn't appear to be in that GitHub repo, which since July 2023 has only had one small change in April 2024 and one small change in October 2025.
The original announcement says (I think it's safe to post this small snippet publicly):
You would normally use it to:
For Fedora, all those functions are fulfilled by Bodhi, so I'm not sure the dashboard would be terribly useful.
So I believe we've tentatively decided to go ahead with this plan, right?
In #561 I intend to try converting the rmdepcheck pipeline to direct reporting as a sort of trial run / PoC.
Yeah let's try it out
I am a bit confused here, I thought the bodhi results are displayed from greenwave which needs the results to be in resultsdb and that in resultsdb the results get from the ci messages ...
ah, right, if we let the jenkins pipelines submit directly to resultsdb we should be fine dropping these.
yes, the idea is to drop out the "send a message so the message-consuming-reporter can report to resultsdb which also publishes a message" bit and just report to resultsdb directly.
Agreed, makes sense to me. This was actually also the plan for RHEL, but it burned on too many CI systems, what is not an issue here (we only have one). So +1 from me on the plan.