From 5b6f907a72e78e2d5424f0a59e336efc2f36fffc 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 --- 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 b50fad387..15844a08d 100644 --- a/infrastructure-playbooks/cephadm-adopt.yml +++ b/infrastructure-playbooks/cephadm-adopt.yml @@ -261,24 +261,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 8e60b1a28..0f912a3f1 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