From bcab0d7a5571ec3195e79e0b776343f3dda70ec0 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Thu, 3 Mar 2022 13:44:53 +0100 Subject: [PATCH] adopt: fix node labelling 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 (cherry picked from commit 266b6e739c26a931f1c975a990f22906223015ef) --- group_vars/all.yml.sample | 12 ++++++++++++ group_vars/rhcs.yml.sample | 12 ++++++++++++ infrastructure-playbooks/cephadm-adopt.yml | 4 ++-- roles/ceph-defaults/defaults/main.yml | 12 ++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index e3a1950cc..2a40f80d6 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -56,6 +56,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 diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index febf4133e..0aebed861 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -56,6 +56,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 diff --git a/infrastructure-playbooks/cephadm-adopt.yml b/infrastructure-playbooks/cephadm-adopt.yml index bc5d6bd46..3136e5229 100644 --- a/infrastructure-playbooks/cephadm-adopt.yml +++ b/infrastructure-playbooks/cephadm-adopt.yml @@ -361,13 +361,13 @@ 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(cephadm_mgmt_network.split(',')) | first }} {{ group_names | join(' ') }}" + command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv4_addresses'] | ips_in_ranges(cephadm_mgmt_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(cephadm_mgmt_network.split(',')) | last | ipwrap }} {{ group_names | join(' ') }}" + command: "{{ ceph_cmd }} orch host add {{ ansible_facts['nodename'] }} {{ ansible_facts['all_ipv6_addresses'] | ips_in_ranges(cephadm_mgmt_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' diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index 7ebc0c613..b6cbdb288 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -48,6 +48,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