diff options
| author | Matt Woodson <mwoodson@gmail.com> | 2015-09-18 12:30:36 -0400 | 
|---|---|---|
| committer | Matt Woodson <mwoodson@gmail.com> | 2015-09-18 12:30:36 -0400 | 
| commit | 6b333d1531c3bce454050aeb1a3803a09205a997 (patch) | |
| tree | 53394fc3e7c17f818ba03fd46fadb1b6c8a5d2b4 | |
| parent | 1f8ee9f01a4063e364416b8a8f13d087f6f98fae (diff) | |
| parent | 92cc48330ed171171c6a370644a4778727018fad (diff) | |
Merge pull request #594 from mwoodson/docker_loopback
added docker_storage_cleanup playbook
| -rw-r--r-- | playbooks/adhoc/docker_loopback_to_lvm/docker_loopback_to_direct_lvm.yml | 11 | ||||
| -rw-r--r-- | playbooks/adhoc/docker_storage_cleanup/docker_storage_cleanup.yml | 69 | 
2 files changed, 78 insertions, 2 deletions
diff --git a/playbooks/adhoc/docker_loopback_to_lvm/docker_loopback_to_direct_lvm.yml b/playbooks/adhoc/docker_loopback_to_lvm/docker_loopback_to_direct_lvm.yml index 74cc9f628..c9ae923bb 100644 --- a/playbooks/adhoc/docker_loopback_to_lvm/docker_loopback_to_direct_lvm.yml +++ b/playbooks/adhoc/docker_loopback_to_lvm/docker_loopback_to_direct_lvm.yml @@ -11,7 +11,7 @@  #   ansible-playbook -e 'cli_tag_name=<tag-name>' -e "cli_volume_size=30" docker_loopback_to_direct_lvm.yml  #  #  Example: -#   ansible-playbook -e 'cli_tag_name=ops-master-f58e0' -e "cli_volume_size=30" docker_loopback_to_direct_lvm.yml +#   ansible-playbook -e 'cli_tag_name=ops-master-12345' -e "cli_volume_size=30" docker_loopback_to_direct_lvm.yml  #  #  Notes:  #  * By default this will do a 30GB volume. @@ -136,9 +136,16 @@    - debug: var=setup_output -    - name: start docker      command: systemctl start docker.service      register: dockerstart    - debug: var=dockerstart + +  - name: Wait for docker to stabilize +    pause: +      seconds: 30 + +  # 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 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  | 
