summaryrefslogtreecommitdiff
path: root/common/kubernetes-cluster-cleanup.yml
diff options
context:
space:
mode:
Diffstat (limited to 'common/kubernetes-cluster-cleanup.yml')
-rw-r--r--common/kubernetes-cluster-cleanup.yml8
1 files changed, 6 insertions, 2 deletions
diff --git a/common/kubernetes-cluster-cleanup.yml b/common/kubernetes-cluster-cleanup.yml
index 87e59d31..67f6151b 100644
--- a/common/kubernetes-cluster-cleanup.yml
+++ b/common/kubernetes-cluster-cleanup.yml
@@ -9,7 +9,11 @@
register: kubectl_node_list
- name: generate list of nodes to be removed
- loop: "{{ kubectl_node_list.stdout_lines | map('replace', 'node/', '') | list | difference(groups['_kubernetes_nodes_']) }}"
+ set_fact:
+ kubernetes_nodes_to_delete: "{{ kubectl_node_list.stdout_lines | map('replace', 'node/', '') | list | difference(groups['_kubernetes_nodes_'] | map('extract', hostvars, 'kubernetes_node_name')) | list }}"
+
+ - name: generate group of nodes to be removed
+ loop: "{{ hostvars | dict2items | selectattr('value.kubernetes_node_name', 'defined') | selectattr('value.kubernetes_node_name', 'in', kubernetes_nodes_to_delete) | map(attribute='key') }}"
add_host:
name: "{{ item }}"
inventory_dir: "{{ hostvars[item].inventory_dir }}"
@@ -17,7 +21,7 @@
changed_when: False
- name: drain superflous nodes
- loop: "{{ groups['_kubernetes_nodes_prune_'] | default([]) }}"
+ loop: "{{ kubernetes_nodes_to_delete }}"
command: "kubectl drain {{ item }} --delete-local-data --force --ignore-daemonsets"
- name: prune superflous nodes from cluster