mirror of https://github.com/ceph/ceph-ansible.git
221 lines
6.7 KiB
YAML
221 lines
6.7 KiB
YAML
---
|
|
- name: Find ceph mon socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-mon*.asok"
|
|
use_regex: false
|
|
register: mon_socket_stat
|
|
when: inventory_hostname in groups.get(mon_group_name, [])
|
|
|
|
- name: Check if the ceph mon socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: mon_socket
|
|
with_items: "{{ mon_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mon_group_name, [])
|
|
- mon_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph mon socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ mon_socket_stat.files }}"
|
|
- "{{ mon_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mon_group_name, [])
|
|
- mon_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Find ceph osd socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-osd.*.asok"
|
|
use_regex: false
|
|
register: osd_socket_stat
|
|
when: inventory_hostname in groups.get(osd_group_name, [])
|
|
|
|
- name: Check if the ceph osd socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: osd_socket
|
|
with_items: "{{ osd_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(osd_group_name, [])
|
|
- osd_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph osd socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ osd_socket_stat.files }}"
|
|
- "{{ osd_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(osd_group_name, [])
|
|
- osd_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Find ceph osd socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-mds*.asok"
|
|
use_regex: false
|
|
register: mds_socket_stat
|
|
when: inventory_hostname in groups.get(mds_group_name, [])
|
|
|
|
- name: Check if the ceph mds socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: mds_socket
|
|
with_items: "{{ mds_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mds_group_name, [])
|
|
- mds_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph mds socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ mds_socket_stat.files }}"
|
|
- "{{ mds_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mds_group_name, [])
|
|
- mds_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Find ceph rgw socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-client.rgw*.asok"
|
|
use_regex: false
|
|
register: rgw_socket_stat
|
|
when: inventory_hostname in groups.get(rgw_group_name, [])
|
|
|
|
- name: Check if the ceph rgw socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: rgw_socket
|
|
with_items: "{{ rgw_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(rgw_group_name, [])
|
|
- rgw_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph rgw socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ rgw_socket_stat.files }}"
|
|
- "{{ rgw_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(rgw_group_name, [])
|
|
- rgw_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Find ceph mgr socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-mgr*.asok"
|
|
use_regex: false
|
|
register: mgr_socket_stat
|
|
when: inventory_hostname in groups.get(mgr_group_name, [])
|
|
|
|
- name: Check if the ceph mgr socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: mgr_socket
|
|
with_items: "{{ mgr_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mgr_group_name, [])
|
|
- mgr_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph mgr socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ mgr_socket_stat.files }}"
|
|
- "{{ mgr_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(mgr_group_name, [])
|
|
- mgr_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Find ceph rbd mirror socket
|
|
ansible.builtin.find:
|
|
paths: ["{{ rbd_client_admin_socket_path }}"]
|
|
recurse: true
|
|
file_type: any
|
|
patterns: "{{ cluster }}-client.rbd-mirror*.asok"
|
|
use_regex: false
|
|
register: rbd_mirror_socket_stat
|
|
when: inventory_hostname in groups.get(rbdmirror_group_name, [])
|
|
|
|
- name: Check if the ceph rbd mirror socket is in-use
|
|
ansible.builtin.command: grep -q {{ item.path }} /proc/net/unix
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: rbd_mirror_socket
|
|
with_items: "{{ rbd_mirror_socket_stat.files }}"
|
|
when:
|
|
- inventory_hostname in groups.get(rbdmirror_group_name, [])
|
|
- rbd_mirror_socket_stat.files | length > 0
|
|
|
|
- name: Remove ceph rbd mirror socket if exists and not used by a process
|
|
ansible.builtin.file:
|
|
name: "{{ item.0.path }}"
|
|
state: absent
|
|
with_together:
|
|
- "{{ rbd_mirror_socket_stat.files }}"
|
|
- "{{ rbd_mirror_socket.results }}"
|
|
when:
|
|
- inventory_hostname in groups.get(rbdmirror_group_name, [])
|
|
- rbd_mirror_socket_stat.files | length > 0
|
|
- item.1.rc == 1
|
|
|
|
- name: Check for a nfs ganesha pid
|
|
ansible.builtin.command: "pgrep ganesha.nfsd"
|
|
register: nfs_process
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
when: inventory_hostname in groups.get(nfs_group_name, [])
|
|
|
|
- name: Check for a ceph-crash process
|
|
ansible.builtin.command: pgrep ceph-crash
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: false
|
|
register: crash_process
|
|
when:
|
|
- inventory_hostname in groups.get(mon_group_name, [])
|
|
or inventory_hostname in groups.get(mgr_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(rbdmirror_group_name, [])
|