From 00ad151186b9e5a88d4bea2a985facd053818140 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 7 Dec 2016 17:36:24 +0100 Subject: [PATCH 1/2] Add playbook and role to reset the cluster This deletes everything related to the cluster and allows to start from scratch. --- reset.yml | 5 +++++ roles/reset/tasks/main.yml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 reset.yml create mode 100644 roles/reset/tasks/main.yml diff --git a/reset.yml b/reset.yml new file mode 100644 index 000000000..afc3f6e39 --- /dev/null +++ b/reset.yml @@ -0,0 +1,5 @@ +--- + +- hosts: all + roles: + - { role: reset, tags: reset } diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml new file mode 100644 index 000000000..95eeb412e --- /dev/null +++ b/roles/reset/tasks/main.yml @@ -0,0 +1,38 @@ +--- + +- name: reset | stop services + service: name={{item}} state=stopped + with_items: + - kubelet + - etcd + failed_when: false + +- name: reset | remove services + file: path="/etc/systemd/system/{{item}}" state=absent + with_items: + - kubelet + - etcd + register: services_removed + +- name: reset | systemctl daemon-reload + command: systemctl daemon-reload + when: ansible_service_mgr == "systemd" and services_removed.changed + +- name: reset | remove all containers + shell: docker ps -aq | xargs -r docker rm -fv + +- name: reset | gather mounted kubelet dirs + shell: mount | grep /var/lib/kubelet | awk '{print $3}' + register: mounted_dirs + +- name: reset | unmount kubelet dirs + command: umount {{item}} + with_items: '{{mounted_dirs.stdout_lines}}' + +- name: reset | delete some files and directories + file: path={{ item }} state=absent + with_items: + - /etc/kubernetes/ + - /var/lib/kubelet + - /var/lib/etcd + From eb33f085b6058ed9b8476a42f98c00235a51e0b9 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Fri, 9 Dec 2016 16:33:10 +0100 Subject: [PATCH 2/2] Changes according to code review --- roles/reset/tasks/main.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml index 95eeb412e..bdacbbfc4 100644 --- a/roles/reset/tasks/main.yml +++ b/roles/reset/tasks/main.yml @@ -8,7 +8,9 @@ failed_when: false - name: reset | remove services - file: path="/etc/systemd/system/{{item}}" state=absent + file: + path: "/etc/systemd/system/{{ item }}.service" + state: absent with_items: - kubelet - etcd @@ -27,7 +29,7 @@ - name: reset | unmount kubelet dirs command: umount {{item}} - with_items: '{{mounted_dirs.stdout_lines}}' + with_items: '{{ mounted_dirs.stdout_lines | reverse }}' - name: reset | delete some files and directories file: path={{ item }} state=absent @@ -35,4 +37,11 @@ - /etc/kubernetes/ - /var/lib/kubelet - /var/lib/etcd - + - /etc/ssl/etcd + - /var/log/calico + - /etc/cni + - /etc/nginx + - /etc/dnsmasq.d + - /etc/etcd.env + - /etc/calico + - /opt/cni