mirror of https://github.com/ceph/ceph-ansible.git
461 lines
16 KiB
YAML
461 lines
16 KiB
YAML
---
|
|
- 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"
|