]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
rolling_update: create missing keyring only on running mon
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 29 Nov 2018 15:04:28 +0000 (16:04 +0100)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Thu, 29 Nov 2018 16:40:46 +0000 (16:40 +0000)
try to create the potentially missing keys only on monitors that are
actually running.
The current node being played is stopped before this task.
By the way, delegating the command on all nodes but the current node
being played ensures that the generated keys will be present on all
monitors.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
infrastructure-playbooks/rolling_update.yml

index 3f0e8cb1fa005c53beefd29847419cd854342d6f..c7f408d85206a84c17d92dfd85954d36da598ba0 100644 (file)
         caps:
           mon: "allow profile {{ item.0 }}"
         cluster: "{{ cluster }}"
-        containerized: "{{ 'docker exec ceph-mon-' + hostvars[mon_host]['ansible_hostname'] if containerized_deployment else None }}"
+        containerized: "{{ 'docker exec ceph-mon-' + hostvars[item.1]['ansible_hostname'] if containerized_deployment else None }}"
       when:
         - cephx
-      delegate_to: "{{ mon_host }}"
+      delegate_to: "{{ item.1 }}"
       ignore_errors: True # this might fail for upgrade from J to L on rbd-mirror and also on partially updated clusters
       with_nested:
         - ['bootstrap-rbd', 'bootstrap-rbd-mirror']
-        - "{{ groups[mon_group_name] }}" # so the key goes on all the nodes
+        - "{{ groups[mon_group_name] | difference([mon_host]) }}" # so the key goes on all the nodes
 
     - name: set osd flags
       command: ceph --cluster {{ cluster }} osd set {{ item }}