Skip to content

Commit 7185ec7

Browse files
committed
fix: register wth taints can be specified multiple times
1 parent 398480c commit 7185ec7

File tree

2 files changed

+5
-20
lines changed

2 files changed

+5
-20
lines changed

pkg/handlers/generic/mutation/taints/inject_worker.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -119,26 +119,11 @@ func (h *taintsWorkerPatchHandler) Mutate(
119119
var runtimeConfigFromNodeadm *runtime.RawExtension
120120
var flags []string
121121
newTaints := toEKSConfigTaints(taintsVar)
122-
hasRegisterTaintsFlag := false
123122
if kubeletOptions != nil {
124123
runtimeConfigFromNodeadm = kubeletOptions.Config
125-
for _, flag := range kubeletOptions.Flags {
126-
if strings.HasPrefix(flag, "--register-with-taints=") {
127-
hasRegisterTaintsFlag = true
128-
existingTaints := strings.Split(flag, "--register-with-taints=")
129-
if len(existingTaints) != 2 {
130-
return fmt.Errorf("expected flag register-with-taints to be able to split got %v", existingTaints)
131-
}
132-
taintsFromFlags := existingTaints[1]
133-
flags = append(flags, fmt.Sprintf("--register-with-taints=%s,%s", taintsFromFlags, newTaints))
134-
continue
135-
}
136-
flags = append(flags, flag)
137-
}
138-
}
139-
if !hasRegisterTaintsFlag {
140-
flags = append(flags, fmt.Sprintf("--register-with-taints=%s", newTaints))
124+
flags = kubeletOptions.Flags
141125
}
126+
flags = append(flags, fmt.Sprintf("--register-with-taints=%s", newTaints))
142127
obj.Spec.Template.Spec.Kubelet = &eksbootstrapv1.KubeletOptions{
143128
Flags: flags,
144129
Config: runtimeConfigFromNodeadm,

pkg/handlers/generic/mutation/taints/inject_worker_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ var _ = Describe("Generate taints patches for Worker", func() {
155155
},
156156
}),
157157
ExpectedPatchMatchers: []capitest.JSONPatchMatcher{{
158-
Operation: "replace",
159-
Path: "/spec/template/spec/kubelet/flags/0",
160-
ValueMatcher: gomega.Equal("--register-with-taints=key1=value1:NoSchedule,key=value:NoExecute"),
158+
Operation: "add",
159+
Path: "/spec/template/spec/kubelet/flags/1",
160+
ValueMatcher: gomega.Equal("--register-with-taints=key=value:NoExecute"),
161161
}},
162162
},
163163
}

0 commit comments

Comments
 (0)