Do not use group as a "setup_host" variable

This fixes an issue, when a host group was passed to mq_setup role,
and delegate logic uses group name instead of host inside of the
group for delegating tasks.

While this patch might break already in-place workarounds, it's
quite important to fix the issue properly, as workarounds are not
trivial and requires quite some understanding of the process.

Closes-Bug: #2111406
Change-Id: Ic5747e29050cced51a71a4b4e71352f231758ed8
This commit is contained in:
Dmitriy Rabotyagov
2025-05-21 10:21:41 +02:00
parent 6542031c98
commit 46862920df
3 changed files with 16 additions and 1 deletions

View File

@@ -200,6 +200,7 @@ trove_guest_endpoint_type: public
# Guestagent RPC configuration
trove_guest_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}"
trove_guest_oslomsg_rpc_setup_host: "{{ (trove_guest_rpc_host_group in groups) | ternary(groups[trove_guest_rpc_host_group][0], 'localhost') }}"
trove_guest_oslomsg_rpc_servers: >-
{{
groups[trove_guest_rpc_host_group] | map('extract', hostvars, 'ansible_facts') | map(attribute=trove_provider_net_iface | replace('-','_')

View File

@@ -0,0 +1,14 @@
---
upgrade:
- |
When using standalone RabbitMQ cluster for Trove deployment, make sure to
use ``trove_guest_rpc_host_group`` as a pointer to host group, rather then
a pointer to a specific host.
You can use variable ``trove_guest_oslomsg_rpc_setup_host`` to define a
specific host which should be responsible for provisionment of RabbitMQ
vhost and users instead.
fixes:
- |
Variable ``trove_guest_rpc_host_group`` is now used as intended and
represents a host group. It is no longer directly used as
"delegated host" when configuring a standalone RabbitMQ cluster for Trove.

View File

@@ -100,7 +100,7 @@
- (trove_oslomsg_rpc_host_group != trove_guest_rpc_host_group) or
(trove_oslomsg_notify_host_group != trove_guest_notify_host_group and trove_guest_oslomsg_notify_configure)
vars:
_oslomsg_rpc_setup_host: "{{ trove_guest_rpc_host_group }}"
_oslomsg_rpc_setup_host: "{{ trove_guest_oslomsg_rpc_setup_host }}"
_oslomsg_rpc_userid: "{{ trove_guest_oslomsg_rpc_userid }}"
_oslomsg_rpc_password: "{{ trove_guest_oslomsg_rpc_password }}"
_oslomsg_rpc_vhost: "{{ trove_guest_oslomsg_rpc_vhost }}"