---
-- name: update apt cache
- apt:
- update-cache: yes
- when:
- - ansible_os_family == 'Debian'
- register: result
- until: result is succeeded
-
-# 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
- set_fact:
- _mon_handler_called: True
- listen: "restart ceph mons"
-
-- name: copy mon restart script
- template:
- src: restart_mon_daemon.sh.j2
- dest: /tmp/restart_mon_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph mons"
- when:
- - mon_group_name in group_names
-
-- name: restart ceph mon daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_mon_daemon.sh
- listen: "restart ceph mons"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mon_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_mon_handler_called'] | default(False)
- - mon_socket_stat.rc == 0
- with_items: "{{ groups[mon_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph mon daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_mon_daemon.sh
- listen: "restart ceph mons"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mon_group_name in group_names
- - containerized_deployment
- - ceph_mon_container_stat.get('rc') == 0
- - hostvars[item]['_mon_handler_called'] | default(False)
- - ceph_mon_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[mon_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _mon_handler_called after restart
- set_fact:
- _mon_handler_called: False
- listen: "restart ceph mons"
-
-- name: set _osd_handler_called before restart
- set_fact:
- _osd_handler_called: True
- listen: "restart ceph osds"
-
-# This does not just restart OSDs but everything else too. Unfortunately
-# at this time the ansible role does not have an OSD id list to use
-# for restarting them specifically.
-# This does not need to run during a rolling update as the playbook will
-# restart all OSDs using the tasks "start ceph osd" or
-# "restart containerized ceph osd"
-- name: copy osd restart script
- template:
- src: restart_osd_daemon.sh.j2
- dest: /tmp/restart_osd_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph osds"
- when:
- - osd_group_name in group_names
- - not rolling_update
-
-- name: restart ceph osds daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_osd_daemon.sh
- listen: "restart ceph osds"
- when:
- - osd_group_name in group_names
- - not containerized_deployment
- - not rolling_update
- # We do not want to run these checks on initial deployment (`socket_osd_container.results[n].rc == 0`)
- # except when a crush location is specified. ceph-disk will start the osds before the osd crush location is specified
- - osd_socket_stat.rc == 0
- - ceph_current_status.fsid is defined
- - handler_health_osd_check
- - hostvars[item]['_osd_handler_called'] | default(False)
- with_items: "{{ groups[osd_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph osds daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_osd_daemon.sh
- listen: "restart ceph osds"
- when:
- # We do not want to run these checks on initial deployment (`socket_osd_container_stat.results[n].rc == 0`)
- # except when a crush location is specified. ceph-disk will start the osds before the osd crush location is specified
- - osd_group_name in group_names
- - containerized_deployment
- - not rolling_update
- - inventory_hostname == groups.get(osd_group_name) | last
- - ceph_osd_container_stat.get('rc') == 0
- - ceph_osd_container_stat.get('stdout_lines', [])|length != 0
- - handler_health_osd_check
- - hostvars[item]['_osd_handler_called'] | default(False)
- with_items: "{{ groups[osd_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _osd_handler_called after restart
- set_fact:
- _osd_handler_called: False
- listen: "restart ceph osds"
-
-- name: set _mds_handler_called before restart
- set_fact:
- _mds_handler_called: True
- listen: "restart ceph mdss"
-
-- name: copy mds restart script
- template:
- src: restart_mds_daemon.sh.j2
- dest: /tmp/restart_mds_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph mdss"
- when:
- - mds_group_name in group_names
-
-- name: restart ceph mds daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_mds_daemon.sh
- listen: "restart ceph mdss"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mds_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_mds_handler_called'] | default(False)
- - mds_socket_stat.rc == 0
- with_items: "{{ groups[mds_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph mds daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_mds_daemon.sh
- listen: "restart ceph mdss"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mds_group_name in group_names
- - containerized_deployment
- - ceph_mds_container_stat.get('rc') == 0
- - hostvars[item]['_mds_handler_called'] | default(False)
- - ceph_mds_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[mds_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _mds_handler_called after restart
- set_fact:
- _mds_handler_called: False
- listen: "restart ceph mdss"
-
-- name: set _rgw_handler_called before restart
- set_fact:
- _rgw_handler_called: True
- listen: "restart ceph rgws"
-
-- name: copy rgw restart script
- template:
- src: restart_rgw_daemon.sh.j2
- dest: /tmp/restart_rgw_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph rgws"
- when:
- - rgw_group_name in group_names
-
-- name: restart ceph rgw daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_rgw_daemon.sh
- listen: "restart ceph rgws"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - rgw_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_rgw_handler_called'] | default(False)
- - rgw_socket_stat.rc == 0
- with_items: "{{ groups[rgw_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph rgw daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_rgw_daemon.sh
- listen: "restart ceph rgws"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - rgw_group_name in group_names
- - containerized_deployment
- - ceph_rgw_container_stat.get('rc') == 0
- - hostvars[item]['_rgw_handler_called'] | default(False)
- - ceph_rgw_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[rgw_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _rgw_handler_called after restart
- set_fact:
- _rgw_handler_called: False
- listen: "restart ceph rgws"
-
-- name: set _nfs_handler_called before restart
- set_fact:
- _nfs_handler_called: True
- listen: "restart ceph nfss"
-
-- name: copy nfs restart script
- template:
- src: restart_nfs_daemon.sh.j2
- dest: /tmp/restart_nfs_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph nfss"
- when:
- - nfs_group_name in group_names
-
-- name: restart ceph nfs daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_nfs_daemon.sh
- listen: "restart ceph nfss"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - nfs_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_nfs_handler_called'] | default(False)
- - nfs_socket_stat.rc == 0
- with_items: "{{ groups[nfs_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph nfs daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_nfs_daemon.sh
- listen: "restart ceph nfss"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - nfs_group_name in group_names
- - containerized_deployment
- - ceph_nfs_container_stat.get('rc') == 0
- - hostvars[item]['_nfs_handler_called'] | default(False)
- - ceph_nfs_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[nfs_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _nfs_handler_called after restart
- set_fact:
- _nfs_handler_called: False
- listen: "restart ceph nfss"
-
-- name: set _rbdmirror_handler_called before restart
- set_fact:
- _rbdmirror_handler_called: True
- listen: "restart ceph rbdmirrors"
-
-- name: copy rbd mirror restart script
- template:
- src: restart_rbd_mirror_daemon.sh.j2
- dest: /tmp/restart_rbd_mirror_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph rbdmirrors"
- when:
- - rbdmirror_group_name in group_names
-
-- name: restart ceph rbd mirror daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_rbd_mirror_daemon.sh
- listen: "restart ceph rbdmirrors"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - rbdmirror_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_rbdmirror_handler_called'] | default(False)
- - rbd_mirror_socket_stat.rc == 0
- with_items: "{{ groups[rbdmirror_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph rbd mirror daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_rbd_mirror_daemon.sh
- listen: "restart ceph rbdmirrors"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - rbdmirror_group_name in group_names
- - containerized_deployment
- - ceph_rbd_mirror_container_stat.get('rc') == 0
- - hostvars[item]['_rbdmirror_handler_called'] | default(False)
- - ceph_rbd_mirror_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[rbdmirror_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _rbdmirror_handler_called after restart
- set_fact:
- _rbdmirror_handler_called: False
- listen: "restart ceph rbdmirrors"
-
-- name: set _mgr_handler_called before restart
- set_fact:
- _mgr_handler_called: True
- listen: "restart ceph mgrs"
-
-- name: copy mgr restart script
- template:
- src: restart_mgr_daemon.sh.j2
- dest: /tmp/restart_mgr_daemon.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph mgrs"
- when:
- - mgr_group_name in group_names
-
-- name: restart ceph mgr daemon(s) - non container
- command: /usr/bin/env bash /tmp/restart_mgr_daemon.sh
- listen: "restart ceph mgrs"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mgr_group_name in group_names
- - not containerized_deployment
- - hostvars[item]['_mgr_handler_called'] | default(False)
- - mgr_socket_stat.rc == 0
- with_items: "{{ groups[mgr_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: restart ceph mgr daemon(s) - container
- command: /usr/bin/env bash /tmp/restart_mgr_daemon.sh
- listen: "restart ceph mgrs"
- when:
- # We do not want to run these checks on initial deployment (`socket.rc == 0`)
- - mgr_group_name in group_names
- - containerized_deployment
- - ceph_mgr_container_stat.get('rc') == 0
- - hostvars[item]['_mgr_handler_called'] | default(False)
- - ceph_mgr_container_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[mgr_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _mgr_handler_called after restart
- set_fact:
- _mgr_handler_called: False
- listen: "restart ceph mgrs"
-
-- name: set _tcmu_runner_handler_called before restart
- set_fact:
- _tcmu_runner_handler_called: True
- listen: "restart ceph tcmu-runner"
-
-- name: copy tcmu-runner restart script
- template:
- src: restart_tcmu_runner.sh.j2
- dest: /tmp/restart_tcmu_runner.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph tcmu-runner"
- when:
- - iscsi_gw_group_name in group_names
-
-- name: restart tcmu-runner
- command: /usr/bin/env bash /tmp/restart_tcmu_runner.sh
- listen: "restart ceph tcmu-runner"
- when:
- - iscsi_gw_group_name in group_names
- - ceph_tcmu_runner_stat.get('rc') == 0
- - hostvars[item]['_tcmu_runner_handler_called'] | default(False)
- - ceph_tcmu_runner_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[iscsi_gw_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _tcmu_runner_handler_called after restart
- set_fact:
- _tcmu_runner_handler_called: False
- listen: "restart ceph tcmu-runner"
-
-- name: set _rbd_target_gw_handler_called before restart
- set_fact:
- _rbd_target_gw_handler_called: True
- listen: "restart ceph rbd-target-gw"
-
-- name: copy rbd-target-gw restart script
- template:
- src: restart_rbd_target_gw.sh.j2
- dest: /tmp/restart_rbd_target_gw.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph rbd-target-gw"
- when:
- - iscsi_gw_group_name in group_names
-
-- name: restart rbd-target-gw
- command: /usr/bin/env bash /tmp/restart_rbd_target_gw.sh
- listen: "restart ceph rbd-target-gw"
- when:
- - iscsi_gw_group_name in group_names
- - ceph_rbd_target_gw_stat.get('rc') == 0
- - hostvars[item]['_rbd_target_gw_handler_called'] | default(False)
- - ceph_rbd_target_gw_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[iscsi_gw_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _rbd_target_gw_handler_called after restart
- set_fact:
- _rbd_target_gw_handler_called: False
- listen: "restart ceph rbd-target-gw"
-
-- name: set _rbd_target_api_handler_called before restart
- set_fact:
- _rbd_target_api_handler_called: True
- listen: "restart ceph rbd-target-api"
-
-- name: copy rbd-target-api restart script
- template:
- src: restart_rbd_target_api.sh.j2
- dest: /tmp/restart_rbd_target_api.sh
- owner: root
- group: root
- mode: 0750
- listen: "restart ceph rbd-target-api"
- when:
- - iscsi_gw_group_name in group_names
-
-- name: restart rbd-target-api
- command: /usr/bin/env bash /tmp/restart_rbd_target_api.sh
- listen: "restart ceph rbd-target-api"
- when:
- - iscsi_gw_group_name in group_names
- - ceph_rbd_target_api_stat.get('rc') == 0
- - hostvars[item]['_rbd_target_api_handler_called'] | default(False)
- - ceph_rbd_target_api_stat.get('stdout_lines', [])|length != 0
- with_items: "{{ groups[iscsi_gw_group_name] }}"
- delegate_to: "{{ item }}"
- run_once: True
-
-- name: set _rbd_target_api_handler_called after restart
- set_fact:
- _rbd_target_api_handler_called: False
- listen: "restart ceph rbd-target-api"
+- name: handlers
+ when: not rolling_update
+ block:
+ - name: update apt cache
+ apt:
+ update-cache: yes
+ when:
+ - ansible_os_family == 'Debian'
+ register: result
+ until: result is succeeded
+
+ # 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
+ set_fact:
+ _mon_handler_called: True
+ listen: "restart ceph mons"
+
+ - name: copy mon restart script
+ template:
+ src: restart_mon_daemon.sh.j2
+ dest: /tmp/restart_mon_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph mons"
+ when:
+ - mon_group_name in group_names
+ - not rolling_update
+
+ - name: restart ceph mon daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_mon_daemon.sh
+ listen: "restart ceph mons"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mon_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_mon_handler_called'] | default(False)
+ - mon_socket_stat.rc == 0
+ - not rolling_update
+ with_items: "{{ groups[mon_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph mon daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_mon_daemon.sh
+ listen: "restart ceph mons"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mon_group_name in group_names
+ - containerized_deployment
+ - ceph_mon_container_stat.get('rc') == 0
+ - hostvars[item]['_mon_handler_called'] | default(False)
+ - ceph_mon_container_stat.get('stdout_lines', [])|length != 0
+ - not rolling_update
+ with_items: "{{ groups[mon_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _mon_handler_called after restart
+ set_fact:
+ _mon_handler_called: False
+ listen: "restart ceph mons"
+
+ - name: set _osd_handler_called before restart
+ set_fact:
+ _osd_handler_called: True
+ listen: "restart ceph osds"
+
+ # This does not just restart OSDs but everything else too. Unfortunately
+ # at this time the ansible role does not have an OSD id list to use
+ # for restarting them specifically.
+ # This does not need to run during a rolling update as the playbook will
+ # restart all OSDs using the tasks "start ceph osd" or
+ # "restart containerized ceph osd"
+ - name: copy osd restart script
+ template:
+ src: restart_osd_daemon.sh.j2
+ dest: /tmp/restart_osd_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph osds"
+ when:
+ - osd_group_name in group_names
+ - not rolling_update
+
+ - name: restart ceph osds daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_osd_daemon.sh
+ listen: "restart ceph osds"
+ when:
+ - osd_group_name in group_names
+ - not containerized_deployment
+ - not rolling_update
+ # We do not want to run these checks on initial deployment (`socket_osd_container.results[n].rc == 0`)
+ # except when a crush location is specified. ceph-disk will start the osds before the osd crush location is specified
+ - osd_socket_stat.rc == 0
+ - ceph_current_status.fsid is defined
+ - handler_health_osd_check
+ - hostvars[item]['_osd_handler_called'] | default(False)
+ with_items: "{{ groups[osd_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph osds daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_osd_daemon.sh
+ listen: "restart ceph osds"
+ when:
+ # We do not want to run these checks on initial deployment (`socket_osd_container_stat.results[n].rc == 0`)
+ # except when a crush location is specified. ceph-disk will start the osds before the osd crush location is specified
+ - osd_group_name in group_names
+ - containerized_deployment
+ - not rolling_update
+ - inventory_hostname == groups.get(osd_group_name) | last
+ - ceph_osd_container_stat.get('rc') == 0
+ - ceph_osd_container_stat.get('stdout_lines', [])|length != 0
+ - handler_health_osd_check
+ - hostvars[item]['_osd_handler_called'] | default(False)
+ with_items: "{{ groups[osd_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _osd_handler_called after restart
+ set_fact:
+ _osd_handler_called: False
+ listen: "restart ceph osds"
+
+ - name: set _mds_handler_called before restart
+ set_fact:
+ _mds_handler_called: True
+ listen: "restart ceph mdss"
+
+ - name: copy mds restart script
+ template:
+ src: restart_mds_daemon.sh.j2
+ dest: /tmp/restart_mds_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph mdss"
+ when:
+ - mds_group_name in group_names
+
+ - name: restart ceph mds daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_mds_daemon.sh
+ listen: "restart ceph mdss"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mds_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_mds_handler_called'] | default(False)
+ - mds_socket_stat.rc == 0
+ with_items: "{{ groups[mds_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph mds daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_mds_daemon.sh
+ listen: "restart ceph mdss"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mds_group_name in group_names
+ - containerized_deployment
+ - ceph_mds_container_stat.get('rc') == 0
+ - hostvars[item]['_mds_handler_called'] | default(False)
+ - ceph_mds_container_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[mds_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _mds_handler_called after restart
+ set_fact:
+ _mds_handler_called: False
+ listen: "restart ceph mdss"
+
+ - name: set _rgw_handler_called before restart
+ set_fact:
+ _rgw_handler_called: True
+ listen: "restart ceph rgws"
+
+ - name: copy rgw restart script
+ template:
+ src: restart_rgw_daemon.sh.j2
+ dest: /tmp/restart_rgw_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph rgws"
+ when:
+ - rgw_group_name in group_names
+
+ - name: restart ceph rgw daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_rgw_daemon.sh
+ listen: "restart ceph rgws"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - rgw_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_rgw_handler_called'] | default(False)
+ - rgw_socket_stat.rc == 0
+ with_items: "{{ groups[rgw_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph rgw daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_rgw_daemon.sh
+ listen: "restart ceph rgws"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - rgw_group_name in group_names
+ - containerized_deployment
+ - ceph_rgw_container_stat.get('rc') == 0
+ - hostvars[item]['_rgw_handler_called'] | default(False)
+ - ceph_rgw_container_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[rgw_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _rgw_handler_called after restart
+ set_fact:
+ _rgw_handler_called: False
+ listen: "restart ceph rgws"
+
+ - name: set _nfs_handler_called before restart
+ set_fact:
+ _nfs_handler_called: True
+ listen: "restart ceph nfss"
+
+ - name: copy nfs restart script
+ template:
+ src: restart_nfs_daemon.sh.j2
+ dest: /tmp/restart_nfs_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph nfss"
+ when:
+ - nfs_group_name in group_names
+
+ - name: restart ceph nfs daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_nfs_daemon.sh
+ listen: "restart ceph nfss"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - nfs_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_nfs_handler_called'] | default(False)
+ - nfs_socket_stat.rc == 0
+ with_items: "{{ groups[nfs_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph nfs daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_nfs_daemon.sh
+ listen: "restart ceph nfss"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - nfs_group_name in group_names
+ - containerized_deployment
+ - ceph_nfs_container_stat.get('rc') == 0
+ - hostvars[item]['_nfs_handler_called'] | default(False)
+ - ceph_nfs_container_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[nfs_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _nfs_handler_called after restart
+ set_fact:
+ _nfs_handler_called: False
+ listen: "restart ceph nfss"
+
+ - name: set _rbdmirror_handler_called before restart
+ set_fact:
+ _rbdmirror_handler_called: True
+ listen: "restart ceph rbdmirrors"
+
+ - name: copy rbd mirror restart script
+ template:
+ src: restart_rbd_mirror_daemon.sh.j2
+ dest: /tmp/restart_rbd_mirror_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph rbdmirrors"
+ when:
+ - rbdmirror_group_name in group_names
+
+ - name: restart ceph rbd mirror daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_rbd_mirror_daemon.sh
+ listen: "restart ceph rbdmirrors"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - rbdmirror_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_rbdmirror_handler_called'] | default(False)
+ - rbd_mirror_socket_stat.rc == 0
+ with_items: "{{ groups[rbdmirror_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph rbd mirror daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_rbd_mirror_daemon.sh
+ listen: "restart ceph rbdmirrors"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - rbdmirror_group_name in group_names
+ - containerized_deployment
+ - ceph_rbd_mirror_container_stat.get('rc') == 0
+ - hostvars[item]['_rbdmirror_handler_called'] | default(False)
+ - ceph_rbd_mirror_container_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[rbdmirror_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _rbdmirror_handler_called after restart
+ set_fact:
+ _rbdmirror_handler_called: False
+ listen: "restart ceph rbdmirrors"
+
+ - name: set _mgr_handler_called before restart
+ set_fact:
+ _mgr_handler_called: True
+ listen: "restart ceph mgrs"
+
+ - name: copy mgr restart script
+ template:
+ src: restart_mgr_daemon.sh.j2
+ dest: /tmp/restart_mgr_daemon.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph mgrs"
+ when:
+ - mgr_group_name in group_names
+
+ - name: restart ceph mgr daemon(s) - non container
+ command: /usr/bin/env bash /tmp/restart_mgr_daemon.sh
+ listen: "restart ceph mgrs"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mgr_group_name in group_names
+ - not containerized_deployment
+ - hostvars[item]['_mgr_handler_called'] | default(False)
+ - mgr_socket_stat.rc == 0
+ - not rolling_update
+ with_items: "{{ groups[mgr_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: restart ceph mgr daemon(s) - container
+ command: /usr/bin/env bash /tmp/restart_mgr_daemon.sh
+ listen: "restart ceph mgrs"
+ when:
+ # We do not want to run these checks on initial deployment (`socket.rc == 0`)
+ - mgr_group_name in group_names
+ - containerized_deployment
+ - ceph_mgr_container_stat.get('rc') == 0
+ - hostvars[item]['_mgr_handler_called'] | default(False)
+ - ceph_mgr_container_stat.get('stdout_lines', [])|length != 0
+ - not rolling_update
+ with_items: "{{ groups[mgr_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _mgr_handler_called after restart
+ set_fact:
+ _mgr_handler_called: False
+ listen: "restart ceph mgrs"
+
+ - name: set _tcmu_runner_handler_called before restart
+ set_fact:
+ _tcmu_runner_handler_called: True
+ listen: "restart ceph tcmu-runner"
+
+ - name: copy tcmu-runner restart script
+ template:
+ src: restart_tcmu_runner.sh.j2
+ dest: /tmp/restart_tcmu_runner.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph tcmu-runner"
+ when:
+ - iscsi_gw_group_name in group_names
+
+ - name: restart tcmu-runner
+ command: /usr/bin/env bash /tmp/restart_tcmu_runner.sh
+ listen: "restart ceph tcmu-runner"
+ when:
+ - iscsi_gw_group_name in group_names
+ - ceph_tcmu_runner_stat.get('rc') == 0
+ - hostvars[item]['_tcmu_runner_handler_called'] | default(False)
+ - ceph_tcmu_runner_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[iscsi_gw_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _tcmu_runner_handler_called after restart
+ set_fact:
+ _tcmu_runner_handler_called: False
+ listen: "restart ceph tcmu-runner"
+
+ - name: set _rbd_target_gw_handler_called before restart
+ set_fact:
+ _rbd_target_gw_handler_called: True
+ listen: "restart ceph rbd-target-gw"
+
+ - name: copy rbd-target-gw restart script
+ template:
+ src: restart_rbd_target_gw.sh.j2
+ dest: /tmp/restart_rbd_target_gw.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph rbd-target-gw"
+ when:
+ - iscsi_gw_group_name in group_names
+
+ - name: restart rbd-target-gw
+ command: /usr/bin/env bash /tmp/restart_rbd_target_gw.sh
+ listen: "restart ceph rbd-target-gw"
+ when:
+ - iscsi_gw_group_name in group_names
+ - ceph_rbd_target_gw_stat.get('rc') == 0
+ - hostvars[item]['_rbd_target_gw_handler_called'] | default(False)
+ - ceph_rbd_target_gw_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[iscsi_gw_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _rbd_target_gw_handler_called after restart
+ set_fact:
+ _rbd_target_gw_handler_called: False
+ listen: "restart ceph rbd-target-gw"
+
+ - name: set _rbd_target_api_handler_called before restart
+ set_fact:
+ _rbd_target_api_handler_called: True
+ listen: "restart ceph rbd-target-api"
+
+ - name: copy rbd-target-api restart script
+ template:
+ src: restart_rbd_target_api.sh.j2
+ dest: /tmp/restart_rbd_target_api.sh
+ owner: root
+ group: root
+ mode: 0750
+ listen: "restart ceph rbd-target-api"
+ when:
+ - iscsi_gw_group_name in group_names
+
+ - name: restart rbd-target-api
+ command: /usr/bin/env bash /tmp/restart_rbd_target_api.sh
+ listen: "restart ceph rbd-target-api"
+ when:
+ - iscsi_gw_group_name in group_names
+ - ceph_rbd_target_api_stat.get('rc') == 0
+ - hostvars[item]['_rbd_target_api_handler_called'] | default(False)
+ - ceph_rbd_target_api_stat.get('stdout_lines', [])|length != 0
+ with_items: "{{ groups[iscsi_gw_group_name] }}"
+ delegate_to: "{{ item }}"
+ run_once: True
+
+ - name: set _rbd_target_api_handler_called after restart
+ set_fact:
+ _rbd_target_api_handler_called: False
+ listen: "restart ceph rbd-target-api"