From 7d088320df1c4a6ed458866c61616a21fddccfe8 Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Wed, 9 Dec 2020 17:05:25 -0500 Subject: [PATCH] cephadm: remove loop on host add tasks Instead of iterate over the host list for adding the node/label to the host orchestrator configuration then we can do it parallelly. Signed-off-by: Dimitri Savineau (cherry picked from commit 5b6f907a72e78e2d5424f0a59e336efc2f36fffc) --- infrastructure-playbooks/cephadm-adopt.yml | 20 ++++++++------------ infrastructure-playbooks/cephadm.yml | 20 ++++++++------------ 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/infrastructure-playbooks/cephadm-adopt.yml b/infrastructure-playbooks/cephadm-adopt.yml index 1ccecac8e..5922c72e7 100644 --- a/infrastructure-playbooks/cephadm-adopt.yml +++ b/infrastructure-playbooks/cephadm-adopt.yml @@ -256,24 +256,20 @@ delegate_to: '{{ groups[mon_group_name][0] }}' - name: manage nodes with cephadm - command: "{{ container_exec_cmd | default('') }} ceph --cluster {{ cluster }} orch host add {{ hostvars[item]['ansible_hostname'] }} {{ hostvars[item]['ansible_default_ipv4']['address'] }} {{ hostvars[item]['group_names'] | join(' ') }}" + command: "{{ container_exec_cmd | default('') }} ceph --cluster {{ cluster }} orch host add {{ ansible_hostname }} {{ ansible_default_ipv4.address }} {{ group_names | join(' ') }}" changed_when: false - run_once: true - loop: '{{ ansible_play_hosts_all }}' delegate_to: '{{ groups[mon_group_name][0] }}' - name: add ceph label for core component - command: "{{ container_exec_cmd | default('') }} ceph --cluster {{ cluster }} orch host label add {{ hostvars[item]['ansible_hostname'] }} ceph" + command: "{{ container_exec_cmd | default('') }} ceph --cluster {{ cluster }} orch host label add {{ ansible_hostname }} ceph" changed_when: false - run_once: true - loop: '{{ ansible_play_hosts_all }}' delegate_to: '{{ groups[mon_group_name][0] }}' - when: item in groups.get(mon_group_name, []) or - item in groups.get(osd_group_name, []) or - item in groups.get(mds_group_name, []) or - item in groups.get(rgw_group_name, []) or - item in groups.get(mgr_group_name, []) or - item in groups.get(rbdmirror_group_name, []) + when: inventory_hostname in groups.get(mon_group_name, []) or + inventory_hostname in groups.get(osd_group_name, []) or + inventory_hostname in groups.get(mds_group_name, []) or + inventory_hostname in groups.get(rgw_group_name, []) or + inventory_hostname in groups.get(mgr_group_name, []) or + inventory_hostname in groups.get(rbdmirror_group_name, []) - name: set_fact ceph_cmd set_fact: diff --git a/infrastructure-playbooks/cephadm.yml b/infrastructure-playbooks/cephadm.yml index c51669563..6fdcbc1ea 100644 --- a/infrastructure-playbooks/cephadm.yml +++ b/infrastructure-playbooks/cephadm.yml @@ -231,26 +231,22 @@ CEPHADM_IMAGE: '{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}' - name: manage nodes with cephadm - command: "{{ cephadm_cmd }} shell -- ceph --cluster {{ cluster }} orch host add {{ hostvars[item]['ansible_hostname'] }} {{ hostvars[item]['ansible_default_ipv4']['address'] }} {{ hostvars[item]['group_names'] | join(' ') }}" + command: "{{ cephadm_cmd }} shell -- ceph --cluster {{ cluster }} orch host add {{ ansible_hostname }} {{ ansible_default_ipv4.address }} {{ group_names | join(' ') }}" changed_when: false - run_once: true - loop: '{{ ansible_play_hosts_all }}' delegate_to: '{{ groups[mon_group_name][0] }}' environment: CEPHADM_IMAGE: '{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}' - name: add ceph label for core component - command: "{{ cephadm_cmd }} shell -- ceph --cluster {{ cluster }} orch host label add {{ hostvars[item]['ansible_hostname'] }} ceph" + command: "{{ cephadm_cmd }} shell -- ceph --cluster {{ cluster }} orch host label add {{ ansible_hostname }} ceph" changed_when: false - run_once: true - loop: '{{ ansible_play_hosts_all }}' delegate_to: '{{ groups[mon_group_name][0] }}' - when: item in groups.get(mon_group_name, []) or - item in groups.get(osd_group_name, []) or - item in groups.get(mds_group_name, []) or - item in groups.get(rgw_group_name, []) or - item in groups.get(mgr_group_name, []) or - item in groups.get(rbdmirror_group_name, []) + when: inventory_hostname in groups.get(mon_group_name, []) or + inventory_hostname in groups.get(osd_group_name, []) or + inventory_hostname in groups.get(mds_group_name, []) or + inventory_hostname in groups.get(rgw_group_name, []) or + inventory_hostname in groups.get(mgr_group_name, []) or + inventory_hostname in groups.get(rbdmirror_group_name, []) environment: CEPHADM_IMAGE: '{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}' -- 2.39.5