With https://gerrit.wikimedia.org/r/c/operations/puppet/+/1264557 trove-guestagent got rabbit transient queue durable enabled. This task tracks deploying the change to DB instances
The per-host procedure I (Filippo) worked out as of April 2026 is as follows:
- Identify the instance name and trove ID from wmcs-openstack database instance list --all-projects
- Enable ssh to the host: wmcs-openstack --os-project-id trove server add security group NAME ssh-from-anywhere
- Login with the trove ssh key as user ubuntu
- Apply the following patch to /etc/trove/conf.d/trove-guestagent.conf
@@ -95,8 +95,13 @@ log_dir = /var/log/trove/ log_file = logfile.txt # log_config_append = /etc/trove/trove-logging-guestagent.conf +[oslo_concurrency] +lock_path = /var/lib/trove/tmp + [oslo_messaging_rabbit] +use_queue_manager=true rabbit_quorum_queue=true +rabbit_transient_quorum_queue=true rabbit_retry_interval=1 rabbit_retry_backoff=2
- Delete the exchange and fanout queue from one of the cloudrabbit hosts:
rabbitmqctl list_exchanges | grep TROVE-ID rabbitmqadmin delete exchange name=EXCHANGE-NAME rabbitmqctl list_queues | grep TROVE-ID_fanout rabbitmqctl delete_queue QUEUE-NAME
- Restart guestagent on the host: systemctl restart guest-agent
- The queue will be back under a different name: rabbitmqctl list_queues | grep TROVE-ID_fanout
- Remove the ssh security group: wmcs-openstack --os-project-id trove server remove security group NAME ssh-from-anywhere