Skip to content

Commit a7509a1

Browse files
yevgeny-shnaidmank8s-ci-robot
authored andcommitted
Fixiמg the unschedulable node version ready label removal
In case node becomes unschedulable (cordon, taint wihtout toleration etc'), the kmod ready version is removed. In addition, the kmod version ready label should also be removed. We do it unconditionally, since the action does not produce error even if the label does not exists on the node
1 parent 4794351 commit a7509a1

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

internal/controllers/nmc_reconciler.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ func (r *NMCReconciler) Reconcile(ctx context.Context, req reconcile.Request) (r
111111
// skipping handling NMC spec module until node is ready
112112
if !r.nodeAPI.IsNodeSchedulable(&node, mod.Tolerations) {
113113
readyLabelsToRemove[utils.GetKernelModuleReadyNodeLabel(mod.Namespace, mod.Name)] = ""
114+
readyLabelsToRemove[utils.GetKernelModuleVersionReadyNodeLabel(mod.Namespace, mod.Name)] = ""
114115
delete(statusMap, moduleNameKey)
115116
continue
116117
}

internal/controllers/nmc_reconciler_test.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,16 @@ import (
3131
)
3232

3333
const (
34-
nmcName = "nmc"
35-
nsFirst = "example-ns-1"
36-
nsSecond = "example-ns-2"
37-
nameFirst = "example-name-1"
38-
nameSecond = "example-name-2"
39-
imageFirst = "example-image-1"
40-
imageSecond = "example-image-2"
41-
kmodName = "kmm.node.kubernetes.io/test-ns.test-module.ready"
42-
labelNotToRemove = "example.node.kubernetes.io/label-not-to-be-removed"
34+
nmcName = "nmc"
35+
nsFirst = "example-ns-1"
36+
nsSecond = "example-ns-2"
37+
nameFirst = "example-name-1"
38+
nameSecond = "example-name-2"
39+
imageFirst = "example-image-1"
40+
imageSecond = "example-image-2"
41+
kmodReadyLabel = "kmm.node.kubernetes.io/test-ns.test-module.ready"
42+
kmodVersionReadyLabel = "kmm.node.kubernetes.io/test-ns.test-module.version.ready"
43+
labelNotToRemove = "example.node.kubernetes.io/label-not-to-be-removed"
4344
)
4445

4546
var _ = Describe("NodeModulesConfigReconciler_Reconcile", func() {
@@ -138,7 +139,7 @@ var _ = Describe("NodeModulesConfigReconciler_Reconcile", func() {
138139
node := v1.Node{
139140
ObjectMeta: metav1.ObjectMeta{
140141
Labels: map[string]string{
141-
kmodName: "",
142+
kmodReadyLabel: "",
142143
labelNotToRemove: "",
143144
},
144145
},
@@ -165,9 +166,10 @@ var _ = Describe("NodeModulesConfigReconciler_Reconcile", func() {
165166
),
166167
wh.EXPECT().SyncStatus(ctx, nmc, &node),
167168
nm.EXPECT().IsNodeSchedulable(&node, nil).Return(false),
168-
nm.EXPECT().UpdateLabels(ctx, &node, nil, map[string]string{kmodName: ""}).DoAndReturn(
169+
nm.EXPECT().UpdateLabels(ctx, &node, nil, map[string]string{kmodReadyLabel: "", kmodVersionReadyLabel: ""}).DoAndReturn(
169170
func(_ context.Context, obj ctrlclient.Object, _, _ map[string]string) error {
170-
delete(node.ObjectMeta.Labels, kmodName)
171+
delete(node.ObjectMeta.Labels, kmodReadyLabel)
172+
delete(node.ObjectMeta.Labels, kmodVersionReadyLabel)
171173
return nil
172174
},
173175
),
@@ -194,8 +196,9 @@ var _ = Describe("NodeModulesConfigReconciler_Reconcile", func() {
194196
node := v1.Node{
195197
ObjectMeta: metav1.ObjectMeta{
196198
Labels: map[string]string{
197-
kmodName: "",
198-
labelNotToRemove: "",
199+
kmodReadyLabel: "",
200+
kmodVersionReadyLabel: "2",
201+
labelNotToRemove: "",
199202
},
200203
},
201204
}
@@ -221,7 +224,7 @@ var _ = Describe("NodeModulesConfigReconciler_Reconcile", func() {
221224
),
222225
wh.EXPECT().SyncStatus(ctx, nmc, &node),
223226
nm.EXPECT().IsNodeSchedulable(&node, nil).Return(false),
224-
nm.EXPECT().UpdateLabels(ctx, &node, nil, map[string]string{kmodName: ""}).DoAndReturn(
227+
nm.EXPECT().UpdateLabels(ctx, &node, nil, map[string]string{kmodReadyLabel: "", kmodVersionReadyLabel: ""}).DoAndReturn(
225228
func(_ context.Context, obj ctrlclient.Object, _, _ map[string]string) error {
226229
return fmt.Errorf("some error")
227230
},

0 commit comments

Comments
 (0)