summaryrefslogtreecommitdiff
path: root/playbooks/k8s-emc.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/k8s-emc.yaml')
-rw-r--r--playbooks/k8s-emc.yaml41
1 files changed, 37 insertions, 4 deletions
diff --git a/playbooks/k8s-emc.yaml b/playbooks/k8s-emc.yaml
index bc981be3..e1ec695e 100644
--- a/playbooks/k8s-emc.yaml
+++ b/playbooks/k8s-emc.yaml
@@ -14,14 +14,14 @@
msg: "There are nodes without an assigned net-index: {{ kubernetes_nodes | difference(kubernetes.net_index.keys()) | join(', ') }}"
failed_when: kubernetes_nodes | difference(kubernetes.net_index.keys()) | length > 0
- - name: check whether net indezes are unique
+ - name: check whether net indizes are unique
fail:
msg: "There are duplicate entries in the net_index table, every net-index is only allowed once"
failed_when: (kubernetes.net_index.keys() | length) != (kubernetes.net_index.values() | unique | length)
- - name: check whether net indezes are all > 0
+ - name: check whether net indizes are all > 0
fail:
- msg: "At least one net-index is < 1 (indezes start at 1)"
+ msg: "At least one net-index is < 1 (indizes start at 1)"
failed_when: (kubernetes.net_index.values() | min) < 1
########
@@ -47,4 +47,37 @@
roles:
- role: kubernetes-node
-## TODO: cleanup (remove superflous nodes and delete bootstrap token)
+########
+- name: check for nodes to be removed
+ hosts: k8s-emc-master
+ tasks:
+ - name: fetch list of current nodes
+ command: kubectl get nodes -o name
+ changed_when: False
+ check_mode: no
+ register: kubectl_node_list
+
+ - name: generate list of nodes to be removed
+ with_items: "{{ kubectl_node_list.stdout_lines | map('replace', 'nodes/', '') | list | difference(kubernetes_nodes) }}"
+ add_host:
+ name: "{{ item }}"
+ inventory_dir: "{{inventory_dir}}"
+ group: k8s-emc-remove
+ changed_when: False
+
+- name: try to clean superflous nodes
+ hosts: k8s-emc-remove
+ vars:
+ k8s_remove_node: yes
+ roles:
+ - role: kubernetes-node
+ - role: kubernetes-net
+
+- name: remove node from api server
+ hosts: k8s-emc-master
+ tasks:
+ - name: remove superflous nodes
+ with_items: "{{ groups['k8s-emc-remove'] | default([]) }}"
+ command: "kubectl delete node {{ item }}"
+
+ # TODO: remove boostrap token