Infra: Ansible yaml lint cleanup
[csit.git] / fdio.infra.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: 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:
12         - kill-process
13
14     - name: Safe Kill {{ process }}
15       shell: "kill {{ item }}"
16       with_items: "{{ running_processes.stdout_lines }}"
17       tags:
18         - kill-process
19
20     - wait_for:
21         path: "/proc/{{ item }}/status"
22         state: "absent"
23       with_items: "{{ running_processes.stdout_lines }}"
24       ignore_errors: true
25       register: killed_processes
26       tags:
27         - kill-process
28
29     - name: Kill Process - Force Kill {{ process }}
30       shell: "kill -9 {{ item }}"
31       with_items: "{{ killed_processes.results | select('failed') | map(attribute='item') | list }}"
32       tags:
33         - kill-process
34
35   rescue:
36     - fail:
37         msg: "Kill process {{ process }} failed!"