From 97bbe132a0df30518987e47adeda639808586fb3 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 --- 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 ad6bc08ad..ba18bda87 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -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 diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index d57830ceb..38d70a631 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -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 diff --git a/infrastructure-playbooks/cephadm-adopt.yml b/infrastructure-playbooks/cephadm-adopt.yml index 24ed0632d..e2dab2a2c 100644 --- a/infrastructure-playbooks/cephadm-adopt.yml +++ b/infrastructure-playbooks/cephadm-adopt.yml @@ -323,13 +323,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(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' diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index f4e55dbde..de1b16481 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -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