Skip to content

Commit

Permalink
Make reset work for crio
Browse files Browse the repository at this point in the history
crio refuses to delete pods when cni is unavailable which is the
case e.g. using calico with kdd datastore. See:

cri-o/cri-o#4084

Fix by deleting storage associated with containers. Stop and disable
crio service so switching container runtime can be done.
  • Loading branch information
hafe committed Oct 12, 2020
1 parent 5e32655 commit d941b63
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions roles/reset/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,21 @@
- containerd
when: container_manager in ["crio", "containerd"] and deploy_container_engine|default(true)

- name: reset | stop and disable crio service
service:
name: crio
state: stopped
enabled: false
failed_when: false
tags: [ crio ]
when: container_manager == "crio"

- name: reset | forcefully wipe CRI-O's container and image storage
command: "crio wipe -f"
failed_when: false
tags: [ crio ]
when: container_manager == "crio"

- name: reset | stop all cri pods
shell: "set -o pipefail && crictl pods -q | xargs -r crictl -t 60s stopp"
args:
Expand All @@ -100,10 +115,8 @@
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
- containerd
when: container_manager in ["crio", "containerd"]
tags: [ containerd ]
when: container_manager == "containerd"

- name: reset | remove all cri pods
shell: "set -o pipefail && crictl pods -q | xargs -r crictl -t 60s rmp"
Expand All @@ -113,10 +126,8 @@
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
- containerd
when: container_manager in ["crio", "containerd"]
tags: [ containerd ]
when: container_manager == "containerd"

- name: reset | stop etcd services
service:
Expand Down

0 comments on commit d941b63

Please sign in to comment.