]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
adopt: fix node labelling bz2057528
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 3 Mar 2022 12:44:53 +0000 (13:44 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 3 Mar 2022 12:44:53 +0000 (13:44 +0100)
When using group of group, the playbook will apply undesired
labels on nodes.
This commit fixes it by applying only the expected labels.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2057528
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
group_vars/all.yml.sample
group_vars/rhcs.yml.sample
infrastructure-playbooks/cephadm-adopt.yml
roles/ceph-defaults/defaults/main.yml

index ad6bc08ad8d120cf525b142f32723c399cd68f62..ba18bda87b76c49c5d9d2c59364fa70342a62eba 100644 (file)
@@ -57,6 +57,18 @@ dummy:
 #mgr_group_name: mgrs
 #rgwloadbalancer_group_name: rgwloadbalancers
 #monitoring_group_name: monitoring
+#adopt_label_group_names:
+#  - "{{ mon_group_name }}"
+#  - "{{ osd_group_name }}"
+#  - "{{ rgw_group_name }}"
+#  - "{{ mds_group_name }}"
+#  - "{{ nfs_group_name }}"
+#  - "{{ rbdmirror_group_name }}"
+#  - "{{ client_group_name }}"
+#  - "{{ iscsi_gw_group_name }}"
+#  - "{{ mgr_group_name }}"
+#  - "{{ rgwloadbalancer_group_name }}"
+#  - "{{ monitoring_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate
index d57830cebe97f8a54de7de58405e00247757cbc8..38d70a631873fce6ddc3abb21dd1a1f5e521ec82 100644 (file)
@@ -57,6 +57,18 @@ dummy:
 #mgr_group_name: mgrs
 #rgwloadbalancer_group_name: rgwloadbalancers
 #monitoring_group_name: monitoring
+#adopt_label_group_names:
+#  - "{{ mon_group_name }}"
+#  - "{{ osd_group_name }}"
+#  - "{{ rgw_group_name }}"
+#  - "{{ mds_group_name }}"
+#  - "{{ nfs_group_name }}"
+#  - "{{ rbdmirror_group_name }}"
+#  - "{{ client_group_name }}"
+#  - "{{ iscsi_gw_group_name }}"
+#  - "{{ mgr_group_name }}"
+#  - "{{ rgwloadbalancer_group_name }}"
+#  - "{{ monitoring_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate
index 24ed0632dd51ac2b282f4e2a1ab2035a871bc54a..e2dab2a2cd278a284d59c2eed439c7abd1956e70 100644 (file)
       when: is_hci | bool
 
     - name: manage nodes with cephadm - ipv4
-      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv4_addresses'] | ips_in_ranges(public_network.split(',')) | first }} {{ group_names | join(' ') }}"
+      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv4_addresses'] | ips_in_ranges(public_network.split(',')) | first }} {{ group_names | intersect(adopt_label_group_names) | join(' ') }}"
       changed_when: false
       delegate_to: '{{ groups[mon_group_name][0] }}'
       when: ip_version == 'ipv4'
 
     - name: manage nodes with cephadm - ipv6
-      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv6_addresses'] | ips_in_ranges(public_network.split(',')) | last | ipwrap }} {{ group_names | join(' ') }}"
+      command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv6_addresses'] | ips_in_ranges(public_network.split(',')) | last | ipwrap }} {{ group_names | intersect(adopt_label_group_names) | join(' ') }}"
       changed_when: false
       delegate_to: '{{ groups[mon_group_name][0] }}'
       when: ip_version == 'ipv6'
index f4e55dbde2474284063aa5d46d9bda20db2f25a4..de1b164817b0fd7851ee98afba1c126e3d3095d4 100644 (file)
@@ -49,6 +49,18 @@ iscsi_gw_group_name: iscsigws
 mgr_group_name: mgrs
 rgwloadbalancer_group_name: rgwloadbalancers
 monitoring_group_name: monitoring
+adopt_label_group_names:
+  - "{{ mon_group_name }}"
+  - "{{ osd_group_name }}"
+  - "{{ rgw_group_name }}"
+  - "{{ mds_group_name }}"
+  - "{{ nfs_group_name }}"
+  - "{{ rbdmirror_group_name }}"
+  - "{{ client_group_name }}"
+  - "{{ iscsi_gw_group_name }}"
+  - "{{ mgr_group_name }}"
+  - "{{ rgwloadbalancer_group_name }}"
+  - "{{ monitoring_group_name }}"
 
 # If configure_firewall is true, then ansible will try to configure the
 # appropriate firewalling rules so that Ceph daemons can communicate