From 39b5ac1345d9f460a1878616451018dfd4f787af Mon Sep 17 00:00:00 2001 From: moelsayed Date: Fri, 3 Aug 2018 03:16:58 +0200 Subject: [PATCH] Fix resoncile missing taints --- cluster/reconcile.go | 8 -------- k8s/node.go | 21 +++++++++++++-------- services/workerplane.go | 1 - 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/cluster/reconcile.go b/cluster/reconcile.go index ffee2252..97a1d354 100644 --- a/cluster/reconcile.go +++ b/cluster/reconcile.go @@ -113,14 +113,6 @@ func reconcileControl(ctx context.Context, currentCluster, kubeCluster *Cluster, if err := rebuildLocalAdminConfig(ctx, kubeCluster); err != nil { return err } - // attempt to remove unschedulable taint - toAddHosts := hosts.GetToAddHosts(currentCluster.ControlPlaneHosts, kubeCluster.ControlPlaneHosts) - for _, host := range toAddHosts { - kubeCluster.UpdateWorkersOnly = false - if host.IsEtcd { - host.ToDelTaints = append(host.ToDelTaints, unschedulableEtcdTaint) - } - } return nil } diff --git a/k8s/node.go b/k8s/node.go index 2960aa32..e7e777a5 100644 --- a/k8s/node.go +++ b/k8s/node.go @@ -219,14 +219,8 @@ func doSyncTaints(k8sClient *kubernetes.Clientset, nodeName string, toAddTaints, node.Spec.Taints = append(node.Spec.Taints, toTaint(taintStr)) } // Remove Taints from node - for i, taintStr := range toDelTaints { - if isTaintExist(toTaint(taintStr), node.Spec.Taints) { - if len(node.Spec.Taints) == 1 { - node.Spec.Taints = []v1.Taint{} - } else { - node.Spec.Taints = append(node.Spec.Taints[:i], node.Spec.Taints[i+1:]...) - } - } + for _, taintStr := range toDelTaints { + node.Spec.Taints = delTaintFromList(node.Spec.Taints, toTaint(taintStr)) } //node.Spec.Taints @@ -286,3 +280,14 @@ func SetAddressesAnnotations(k8sClient *kubernetes.Clientset, nodeName, internal } return listErr } + +func delTaintFromList(l []v1.Taint, t v1.Taint) []v1.Taint { + r := []v1.Taint{} + for _, i := range l { + if i == t { + continue + } + r = append(r, i) + } + return r +} diff --git a/services/workerplane.go b/services/workerplane.go index 62a59a8c..51dd7f0f 100644 --- a/services/workerplane.go +++ b/services/workerplane.go @@ -33,7 +33,6 @@ func RunWorkerPlane(ctx context.Context, allHosts []*hosts.Host, localConnDialer // Add unschedulable taint host.ToAddTaints = append(host.ToAddTaints, unschedulableControlTaint) } - } runHost := host // maps are not thread safe