]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
dashboad: rgw frontends entries in ceph.conf are incorrect rhcs-4.3 v4.0.70.26
authorTeoman ONAY <tonay@ibm.com>
Tue, 5 Sep 2023 10:39:15 +0000 (12:39 +0200)
committerTeoman ONAY <tonay@ibm.com>
Wed, 27 Sep 2023 09:58:43 +0000 (11:58 +0200)
There was multiple rgw frontends entries while there was just one
rgw instance on each host. The other entries were the details from
the other rgw hosts in the cluster

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2232282
Signed-off-by: Teoman ONAY <tonay@ibm.com>
roles/ceph-facts/tasks/set_radosgw_address.yml

index b86eed28a3571a5f884d0b34bbb60a4b7a32b89c..4bf3358b054f286d41e69f01de4f8fad29cfad63 100644 (file)
       run_once: true
       when: ip_version == 'ipv6'
 
-- name: set_fact rgw_instances without rgw multisite
-  set_fact:
-    rgw_instances: "{{ rgw_instances|default([]) | union([{'instance_name': 'rgw' + item|string, 'radosgw_address': hostvars[ceph_dashboard_call_item | default(inventory_hostname)]['_radosgw_address'], 'radosgw_frontend_port': radosgw_frontend_port|int + item|int }]) }}"
-  with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
-  delegate_to: "{{ ceph_dashboard_call_item if ceph_dashboard_call_item is defined else inventory_hostname }}"
-  delegate_facts: "{{ true if ceph_dashboard_call_item is defined else false }}"
+- name: rgw_instances without rgw multisite
   when:
     - ceph_dashboard_call_item is defined or
       inventory_hostname in groups.get(rgw_group_name, [])
     - not rgw_multisite | bool
+  block:
+    - name: reset rgw_instances (workaround)
+      set_fact:
+        rgw_instances: []
+
+    - name: set_fact rgw_instances without rgw multisite
+      set_fact:
+        rgw_instances: "{{ rgw_instances|default([]) | union([{'instance_name': 'rgw' + item|string, 'radosgw_address': hostvars[ceph_dashboard_call_item | default(inventory_hostname)]['_radosgw_address'], 'radosgw_frontend_port': radosgw_frontend_port|int + item|int }]) }}"
+      with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
+      delegate_to: "{{ ceph_dashboard_call_item if ceph_dashboard_call_item is defined else inventory_hostname }}"
+      delegate_facts: "{{ true if ceph_dashboard_call_item is defined else false }}"
 
 - name: set_fact is_rgw_instances_defined
   set_fact:
       ceph_dashboard_call_item is defined
     - rgw_multisite | bool
 
-- name: set_fact rgw_instances with rgw multisite
-  set_fact:
-    rgw_instances: "{{ rgw_instances|default([]) | union([{ 'instance_name': 'rgw' + item | string, 'radosgw_address': hostvars[ceph_dashboard_call_item | default(inventory_hostname)]['_radosgw_address'], 'radosgw_frontend_port': radosgw_frontend_port | int + item|int, 'rgw_realm': rgw_realm | string, 'rgw_zonegroup': rgw_zonegroup | string, 'rgw_zone': rgw_zone | string, 'system_access_key': system_access_key, 'system_secret_key': system_secret_key, 'rgw_zone_user': rgw_zone_user, 'rgw_zone_user_display_name': rgw_zone_user_display_name, 'endpoint': (rgw_pull_proto + '://' + rgw_pullhost + ':' + rgw_pull_port | string) if not rgw_zonemaster | bool and rgw_zonesecondary | bool else omit }]) }}"
-  with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
-  delegate_to: "{{ ceph_dashboard_call_item if ceph_dashboard_call_item is defined else inventory_hostname }}"
-  delegate_facts: "{{ true if ceph_dashboard_call_item is defined else false }}"
+- name: rgw_instances with rgw multisite
   when:
     - ceph_dashboard_call_item is defined or
       inventory_hostname in groups.get(rgw_group_name, [])
     - rgw_multisite | bool
     - not is_rgw_instances_defined | default(False) | bool
+  block:
+    - name: reset rgw_instances (workaround)
+      set_fact:
+        rgw_instances: []
+
+    - name: set_fact rgw_instances with rgw multisite
+      set_fact:
+        rgw_instances: "{{ rgw_instances|default([]) | union([{ 'instance_name': 'rgw' + item | string, 'radosgw_address': hostvars[ceph_dashboard_call_item | default(inventory_hostname)]['_radosgw_address'], 'radosgw_frontend_port': radosgw_frontend_port | int + item|int, 'rgw_realm': rgw_realm | string, 'rgw_zonegroup': rgw_zonegroup | string, 'rgw_zone': rgw_zone | string, 'system_access_key': system_access_key, 'system_secret_key': system_secret_key, 'rgw_zone_user': rgw_zone_user, 'rgw_zone_user_display_name': rgw_zone_user_display_name, 'endpoint': (rgw_pull_proto + '://' + rgw_pullhost + ':' + rgw_pull_port | string) if not rgw_zonemaster | bool and rgw_zonesecondary | bool else omit }]) }}"
+      with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
+      delegate_to: "{{ ceph_dashboard_call_item if ceph_dashboard_call_item is defined else inventory_hostname }}"
+      delegate_facts: "{{ true if ceph_dashboard_call_item is defined else false }}"
 
 - name: set_fact rgw_instances_host
   set_fact: