@@ -197,6 +197,44 @@ var _ = Describe("NodeGroup controller", func() {
197197 return true
198198 })
199199 })
200+ It ("should maintain labels and taints on nodes" , func () {
201+ node := & corev1.Node {}
202+ Expect (k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )).To (Succeed ())
203+ Eventually (func () bool {
204+ err := k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )
205+ if err != nil {
206+ return false
207+ }
208+ if _ , ok := node .GetLabels ()["nodegroup2" ]; ! ok {
209+ return false
210+ }
211+ for _ , t := range node .Spec .Taints {
212+ if t .MatchTaint (taint ) {
213+ return true
214+ }
215+ }
216+ return false
217+ }, timeout , interval ).Should (BeTrue ())
218+ Expect (k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )).To (Succeed ())
219+ node .Spec .Taints = []corev1.Taint {}
220+ Expect (k8sClient .Update (context .Background (), node )).To (Succeed ())
221+ Expect (k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )).To (Succeed ())
222+ Eventually (func () bool {
223+ err := k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )
224+ if err != nil {
225+ return false
226+ }
227+ if _ , ok := node .GetLabels ()["nodegroup2" ]; ! ok {
228+ return false
229+ }
230+ for _ , t := range node .Spec .Taints {
231+ if t .MatchTaint (taint ) {
232+ return true
233+ }
234+ }
235+ return false
236+ }, timeout , interval ).Should (BeTrue ())
237+ })
200238 It ("should maintain labels and taints when nodes are recreated" , func () {
201239 node := & corev1.Node {}
202240 Expect (k8sClient .Get (context .Background (), types.NamespacedName {Name : "node2" }, node )).To (Succeed ())
0 commit comments