]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
facts: fix deployments with different net interface names
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 16 Jun 2022 14:53:14 +0000 (16:53 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 6 Jul 2022 00:05:27 +0000 (02:05 +0200)
Deployments when radosgws don't have the same names for
network interface.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2095605
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit f6b49f78a9f14c37b2ca81fa6172beba8f43adc4)

roles/ceph-facts/tasks/set_radosgw_address.yml

index 64d2b3b225f72dfe91b09146dd0c32693554c609..5860e17fa6952e7be8655b950bfd6150975ca078 100644 (file)
   block:
     - name: set_fact _interface
       set_fact:
-        _interface: "{{ (radosgw_interface | replace('-', '_')) }}"
+        _interface: "{{ (hostvars[item]['radosgw_interface'] | replace('-', '_')) }}"
+      loop: "{{ groups.get(rgw_group_name, []) }}"
+      delegate_to: "{{ item }}"
+      delegate_facts: true
+      run_once: true
 
     - name: set_fact _radosgw_address to radosgw_interface - ipv4
       set_fact:
-        _radosgw_address: "{{ hostvars[inventory_hostname]['ansible_facts'][_interface][ip_version]['address'] }}"
+        _radosgw_address: "{{ hostvars[item]['ansible_facts'][hostvars[item]['_interface']][ip_version]['address'] }}"
+      loop: "{{ groups.get(rgw_group_name, []) }}"
+      delegate_to: "{{ item }}"
+      delegate_facts: true
       when: ip_version == 'ipv4'
 
     - name: set_fact _radosgw_address to radosgw_interface - ipv6
       set_fact:
-        _radosgw_address: "{{ hostvars[inventory_hostname]['ansible_facts'][_interface][ip_version][0]['address'] | ansible.utils.ipwrap }}"
+        _radosgw_address: "{{ hostvars[item]['ansible_facts'][hostvars[item]['_interface']][ip_version][0]['address'] | ipwrap }}"
+      loop: "{{ groups.get(rgw_group_name, []) }}"
+      delegate_to: "{{ item }}"
+      delegate_facts: true
       when: ip_version == 'ipv6'
 
 - name: set_fact rgw_instances without rgw multisite