Ansible: Fix cleanup procedures
[csit.git] / resources / tools / testbed-setup / ansible / roles / cleanup / tasks / kill_process.yaml
1 ---
2 # file: roles/cleanup/tasks/kill_process.yaml
3
4 - name: Kill process - {{ process }}
5   block:
6   - name: Kill process - Get pid of {{ process }}
7     shell: "ps -ef | grep -v grep | grep -w {{ process }} | awk '{print $2}'"
8     when: >
9       process is defined and process != ""
10     register: running_processes
11     tags: kill-process
12
13   - name: Kill process - Safe kill {{ process }}
14     shell: "kill {{ item }}"
15     with_items: "{{ running_processes.stdout_lines }}"
16     tags: kill-process
17
18   - wait_for:
19       path: "/proc/{{ item }}/status"
20       state: absent
21     with_items: "{{ running_processes.stdout_lines }}"
22     ignore_errors: yes
23     register: killed_processes
24     tags: kill-process
25
26   - name: Kill process - Force kill {{ process }}
27     shell: "kill -9 {{ item }}"
28     with_items: "{{ killed_processes.results | select('failed') | map(attribute='item') | list }}"
29     tags: kill-process
30
31   rescue:
32   - fail:
33       msg: "Kill process {{ process }} failed!"