ansible replay fails if kubeadm init was not successful

Ansible replay is broken since the introduction of kubelet-fs
e74ef5f7c4

The kubelet-fs change uncovered a flaw in kubeadm reset
https://github.com/kubernetes/kubeadm/issues/1294

kubeadm will sometimes unmount /var/lib/kubelet/. To correct this we
will remount the kubelet-lv on ansible replays and wipe the contents.

Change-Id: Ie4d6009bb2d53561586a8b62d1ab92a0859119fb
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
Closes-Bug: 1838692
This commit is contained in:
David Sullivan 2019-08-08 12:49:16 -04:00
parent 1c9007c879
commit 7dc747071a
1 changed files with 17 additions and 0 deletions

View File

@ -28,6 +28,23 @@
- name: Shut down and remove Kubernetes components
command: kubeadm reset -f
# Cleanup kubelet-lv
# Due to https://github.com/kubernetes/kubeadm/issues/1294 kubeadm will
# unmount /var/lib/kubelet. We need to remount the kubelet-lv and remove its
# contents.
- block:
- name: Mount kubelet-lv
command: mount /var/lib/kubelet/
args:
warn: false
- name: Clear kubelet data
shell: /bin/rm -rf /var/lib/kubelet/*
args:
warn: false
when: '"/var/lib/kubelet/" is not mount'
- name: Clear etcd data cache
shell: /bin/rm -rf /opt/etcd/{{ software_version }}/controller.etcd/*
args: