--- # We only want to restart on hosts that have called the handler. # This var is set when he handler is called, and unset after the # restart to ensure only the correct hosts are restarted. - name: Set _mon_handler_called before restart ansible.builtin.set_fact: _mon_handler_called: true - name: Copy mon restart script ansible.builtin.template: src: restart_mon_daemon.sh.j2 dest: "{{ tmpdirpath.path }}/restart_mon_daemon.sh" owner: root group: root mode: "0750" when: tmpdirpath.path is defined - name: Restart ceph mon daemon(s) ansible.builtin.command: /usr/bin/env bash {{ hostvars[item]['tmpdirpath']['path'] }}/restart_mon_daemon.sh when: # We do not want to run these checks on initial deployment (`socket.rc == 0`) - hostvars[item]['handler_mon_status'] | default(False) | bool - hostvars[item]['_mon_handler_called'] | default(False) | bool - hostvars[item].tmpdirpath.path is defined with_items: "{{ groups[mon_group_name] }}" delegate_to: "{{ item }}" changed_when: false run_once: true - name: Set _mon_handler_called after restart ansible.builtin.set_fact: _mon_handler_called: false