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 <gabrioux@redhat.com>
(cherry picked from commit 266b6e739c)
pull/7112/head
Guillaume Abrioux 2022-03-03 13:44:53 +01:00
parent 839ad5927d
commit bcab0d7a55
4 changed files with 38 additions and 2 deletions

View File

@ -56,6 +56,18 @@ dummy:
#mgr_group_name: mgrs #mgr_group_name: mgrs
#rgwloadbalancer_group_name: rgwloadbalancers #rgwloadbalancer_group_name: rgwloadbalancers
#monitoring_group_name: monitoring #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 # If configure_firewall is true, then ansible will try to configure the
# appropriate firewalling rules so that Ceph daemons can communicate # appropriate firewalling rules so that Ceph daemons can communicate

View File

@ -56,6 +56,18 @@ dummy:
#mgr_group_name: mgrs #mgr_group_name: mgrs
#rgwloadbalancer_group_name: rgwloadbalancers #rgwloadbalancer_group_name: rgwloadbalancers
#monitoring_group_name: monitoring #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 # If configure_firewall is true, then ansible will try to configure the
# appropriate firewalling rules so that Ceph daemons can communicate # appropriate firewalling rules so that Ceph daemons can communicate

View File

@ -361,13 +361,13 @@
when: is_hci | bool when: is_hci | bool
- name: manage nodes with cephadm - ipv4 - 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 changed_when: false
delegate_to: '{{ groups[mon_group_name][0] }}' delegate_to: '{{ groups[mon_group_name][0] }}'
when: ip_version == 'ipv4' when: ip_version == 'ipv4'
- name: manage nodes with cephadm - ipv6 - 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 changed_when: false
delegate_to: '{{ groups[mon_group_name][0] }}' delegate_to: '{{ groups[mon_group_name][0] }}'
when: ip_version == 'ipv6' when: ip_version == 'ipv6'

View File

@ -48,6 +48,18 @@ iscsi_gw_group_name: iscsigws
mgr_group_name: mgrs mgr_group_name: mgrs
rgwloadbalancer_group_name: rgwloadbalancers rgwloadbalancer_group_name: rgwloadbalancers
monitoring_group_name: monitoring 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 # If configure_firewall is true, then ansible will try to configure the
# appropriate firewalling rules so that Ceph daemons can communicate # appropriate firewalling rules so that Ceph daemons can communicate