From dc767c14b9ed60d2f0d72f06b2531dff721bf8ad Mon Sep 17 00:00:00 2001
From: Alvaro Campesino <57360851+Alvaro-Campesino@users.noreply.github.com>
Date: Wed, 1 Dec 2021 16:17:15 +0100
Subject: [PATCH] remove no longer present etcd nodes from  APIEndpoints list
 in kubeadm-config configmap (#8244)

---
 roles/remove-node/remove-etcd-node/tasks/main.yml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/roles/remove-node/remove-etcd-node/tasks/main.yml b/roles/remove-node/remove-etcd-node/tasks/main.yml
index c69dd9069..a79e85c48 100644
--- a/roles/remove-node/remove-etcd-node/tasks/main.yml
+++ b/roles/remove-node/remove-etcd-node/tasks/main.yml
@@ -62,3 +62,18 @@
   when:
     - inventory_hostname in groups['etcd']
     - etcd_member_id.stdout | length > 0
+
+# Delete node from kubeadm-config
+- name: Update kubeadm-config configmap removing control-plane no longer existing endpoints
+  vars:
+    kubeadm_config_cm_content: "{{ lookup('kubernetes.core.k8s', kind='ConfigMap', namespace='kube-system', resource_name='kubeadm-config', kubeconfig=keos_kubeconfig_path) }}"
+  kubernetes.core.k8s:
+    kubeconfig: "{{ keos_kubeconfig_path }}"
+    definition:
+      api_version: v1
+      kind: ConfigMap
+      metadata:
+        name: kubeadm-config-test
+        namespace: default
+      data:
+        ClusterStatus: "{{ kubeadm_config_cm_content.data.ClusterStatus | regex_replace( node |default(kube_node)  + ':\n' + ' *advertiseAddress: ([0-9]{1,3}.){3}[0-9]{1,3}\n' + ' *bindPort: [0-9]{1,5}' , '') }}"
-- 
GitLab