New connections to staging rabbitmq fail if /etc/fedora-messaging/stg-cacert.pem is used as the CA cert as it seems to only use the first cert in the file #13422
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
infra/tickets#13422
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
I woke up today and found all my consumers that listen on the staging bus were failing to connect to the server after a cron job that ran at 04:00 restarted them.
On further investigation, it seems like the
/etc/fedora-messaging/stg-cacert.pemfile, which I use as theca_certfile in the messaging config (it's used for this in other configs as well, not just mine) contains both the "old" CA cert and the "new" CA cert (in relation to some kinda cert refresh @abompard is doing). rabbitmq seems to have been flipped over to using certs signed by the new CA cert yesterday(?)./etc/fedora-messaging/stg-cacert.pemcomes from the fedora-messaging package.If I create a
/etc/fedora-messaging/stg-cacert-newonly.pemwith only the new CA cert in it, change my consumer config to specify that file as theca_cert, and restart the consumer, it works. So it seems like possibly fedora-messaging (or whatever exactly is implementing the connection from the client to the rabbitmq server) is only considering the first CA cert in the file? This kinda defeats the purpose of the 'combined' file unfortunately :(It looks like resultsdb staging is running into this too now:
and it's constantly failing to publish messages:
etc etc. I rsh'ed into the pod and sure enough the configured fedora-messaging CA cert is the combined one. Should I twiddle it to use the single CA cert or shall I leave it to you @abompard ?
I've fixed the issue in the fedora-messaging library, released a new version and built RPMs. I've restored the old RabbitMQ server certficates until the fedora-messaging update is wildly adopted and we can switch the server certs again.
Thanks a lot for the detailed report, it helped a great deal.