Clean docker and podman after executing an update or upgrade

After running a major upgrade or minor update we will
have in the nodes some leftover containers data
that might not be used anymore.

Resolves: rhbz#1677535

Change-Id: I0ad395b3417be4354e04ebed977a278abbc3a664
(cherry picked from commit 4070b62e8c)
This commit is contained in:
Carlos Camacho 2019-04-11 14:44:25 +02:00
parent 0731b9ba17
commit 463576dc6a
2 changed files with 63 additions and 0 deletions

View File

@ -194,6 +194,26 @@ outputs:
name: container-registry
tasks_from: docker
when: step|int == 3
post_upgrade_tasks:
- name: Clean docker
when:
- step|int == 3
- container_cli == 'docker'
block:
- name: Check if docker has some data
stat:
path: /var/lib/docker
register: docker_path_stat
- name: Purge Docker
when: docker_path_stat.stat.exists
block:
- name: Ensure docker service is running
systemd:
name: docker
register: docker_service_state
- name: Run docker system prune
shell: docker system prune -a -f
when: docker_service_state.status['SubState'] == 'running'
update_tasks:
- name: Restart Docker when needed
when: step|int == 2
@ -202,3 +222,23 @@ outputs:
- include_role:
name: container-registry
tasks_from: docker-update
post_update_tasks:
- name: Clean docker
when:
- step|int == 3
- container_cli == 'docker'
block:
- name: Check if docker has some data
stat:
path: /var/lib/docker
register: docker_path_stat
- name: Purge Docker
when: docker_path_stat.stat.exists
block:
- name: Ensure docker service is running
systemd:
name: docker
register: docker_service_state
- name: Run docker system prune
shell: docker system prune -a -f
when: docker_service_state.status['SubState'] == 'running'

View File

@ -174,3 +174,26 @@ outputs:
file:
path: /var/lib/docker
state: absent
- name: Clean podman
when:
- step|int == 3
- container_cli == 'podman'
block:
- name: Purge Podman
block:
- name: Clean podman images
shell: podman image prune -a
- name: Clean podman volumes
shell: podman volume prune -f
post_update_tasks:
- name: Clean podman
when:
- step|int == 3
- container_cli == 'podman'
block:
- name: Purge Podman
block:
- name: Clean podman images
shell: podman image prune -a
- name: Clean podman volumes
shell: podman volume prune -f