Ansible git move
[csit.git] / fdio.infra.ansible / roles / cleanup / tasks / kill_containers.yaml
diff --git a/fdio.infra.ansible/roles/cleanup/tasks/kill_containers.yaml b/fdio.infra.ansible/roles/cleanup/tasks/kill_containers.yaml
new file mode 100644 (file)
index 0000000..25fd48e
--- /dev/null
@@ -0,0 +1,42 @@
+---
+# file: roles/cleanup/tasks/kill_containers.yaml
+
+- name: Kill Docker Containers
+  block:
+  - name: Kill Container - Get Running Docker Containers
+    shell: "docker ps -aq"
+    register: running_containers
+    changed_when: no
+    tags:
+      - kill-containers
+
+  - name: Kill Container - Remove All Docker Containers
+    shell: "docker rm --force {{ item }}"
+    with_items: "{{ running_containers.stdout_lines }}"
+    tags:
+      - kill-containers
+
+  rescue:
+  - name: Restart Docker Daemon
+    systemd:
+      name: "docker"
+      state: "restarted"
+
+- name: Kill LXC Containers
+  block:
+  - name: Kill Container - Get Running LXC Containers
+    shell: "lxc-ls"
+    register: running_containers
+    changed_when: no
+    tags:
+      - kill-containers
+
+  - name: Kill Container - Remove All LXC Containers
+    shell: "lxc-destroy --force -n {{ item }}"
+    with_items: "{{ running_containers.stdout_lines }}"
+    tags:
+      - kill-containers
+
+  rescue:
+  - fail:
+      msg: "Kill LXC containers failed!"
\ No newline at end of file