summaryrefslogtreecommitdiffstats
path: root/playbooks/adhoc/docker_storage_cleanup
diff options
context:
space:
mode:
authorMatt Woodson <mwoodson@redhat.com>2015-09-18 12:14:39 -0400
committerMatt Woodson <mwoodson@redhat.com>2015-09-18 12:29:26 -0400
commit92cc48330ed171171c6a370644a4778727018fad (patch)
tree53394fc3e7c17f818ba03fd46fadb1b6c8a5d2b4 /playbooks/adhoc/docker_storage_cleanup
parent246fa73c71387f0c44d1689907416ca5da5bba2f (diff)
downloadopenshift-92cc48330ed171171c6a370644a4778727018fad.tar.gz
openshift-92cc48330ed171171c6a370644a4778727018fad.tar.bz2
openshift-92cc48330ed171171c6a370644a4778727018fad.tar.xz
openshift-92cc48330ed171171c6a370644a4778727018fad.zip
added playbook for docker storage cleanup
Diffstat (limited to 'playbooks/adhoc/docker_storage_cleanup')
-rw-r--r--playbooks/adhoc/docker_storage_cleanup/docker_storage_cleanup.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/playbooks/adhoc/docker_storage_cleanup/docker_storage_cleanup.yml b/playbooks/adhoc/docker_storage_cleanup/docker_storage_cleanup.yml
new file mode 100644
index 000000000..1946a5f4f
--- /dev/null
+++ b/playbooks/adhoc/docker_storage_cleanup/docker_storage_cleanup.yml
@@ -0,0 +1,69 @@
+---
+# This playbook attempts to cleanup unwanted docker files to help alleviate docker disk space issues.
+#
+# To run:
+#
+# 1. run the playbook:
+#
+# ansible-playbook -e 'cli_tag_name=<tag-name>' docker_storage_cleanup.yml
+#
+# Example:
+#
+# ansible-playbook -e 'cli_tag_name=ops-node-compute-12345' docker_storage_cleanup.yml
+#
+# Notes:
+# * This *should* not interfere with running docker images
+#
+
+- name: Clean up Docker Storage
+ gather_facts: no
+ hosts: "tag_Name_{{ cli_tag_name }}"
+ user: root
+ connection: ssh
+
+ pre_tasks:
+
+ - fail:
+ msg: "This playbook requires {{item}} to be set."
+ when: "{{ item }} is not defined or {{ item }} == ''"
+ with_items:
+ - cli_tag_name
+
+ - name: Ensure docker is running
+ service:
+ name: docker
+ state: started
+ enabled: yes
+
+ - name: Get docker info
+ command: docker info
+ register: docker_info
+
+ - name: Show docker info
+ debug:
+ var: docker_info.stdout_lines
+
+ - name: Remove exited and dead containers
+ shell: "docker ps -a | awk '/Exited|Dead/ {print $1}' | xargs --no-run-if-empty docker rm"
+ ignore_errors: yes
+
+ - name: Remove dangling docker images
+ shell: "docker images -q -f dangling=true | xargs --no-run-if-empty docker rmi"
+ ignore_errors: yes
+
+ - name: Remove non-running docker images
+ shell: "docker images -aq | xargs --no-run-if-empty docker rmi 2>/dev/null"
+ ignore_errors: yes
+
+ # leaving off the '-t' for docker exec. With it, it doesn't work with ansible and tty support
+ - name: update zabbix docker items
+ command: docker exec -i oso-rhel7-zagg-client /usr/local/bin/cron-send-docker-metrics.py
+
+ # Get and show docker info again.
+ - name: Get docker info
+ command: docker info
+ register: docker_info
+
+ - name: Show docker info
+ debug:
+ var: docker_info.stdout_lines