Skip to content

Commit d50b242

Browse files
committed
fixup: adapt cherry-picked code to 4.21 branch APIs
- Replace DefaultBaseConditions with newBaseConditions (unexported in 4.21) - Replace metahelper.FindStatusCondition with FindCondition (4.21 local helper) - Add isNROOperSyncedAt helper using 4.21 status.FindCondition - Fix errors import shadowing (alias k8s apierrors, keep stdlib errors) AIA: Primarily AI, New content, Human-initiated, Reviewed, Claude Opus 4.6 v1.0 Signed-off-by: Talor Itzhak <titzhak@redhat.com>
1 parent 30f8d17 commit d50b242

3 files changed

Lines changed: 25 additions & 5 deletions

File tree

internal/controller/numaresourcesoperator_controller.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
apiextensionv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
3030
apiequality "k8s.io/apimachinery/pkg/api/equality"
3131
apierrors "k8s.io/apimachinery/pkg/api/errors"
32+
apimeta "k8s.io/apimachinery/pkg/api/meta"
3233
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3334
"k8s.io/apimachinery/pkg/labels"
3435
"k8s.io/apimachinery/pkg/runtime"
@@ -212,6 +213,11 @@ func updateStatusConditionsIfNeeded(instance *nropv1.NUMAResourcesOperator, cond
212213
ObservedGeneration: instance.Generation,
213214
}, time.Now())
214215
if ok {
216+
for _, c := range instance.Status.Conditions {
217+
if status.FindCondition(conditions, c.Type) == nil {
218+
conditions = append(conditions, c)
219+
}
220+
}
215221
instance.Status.Conditions = conditions
216222
}
217223
}
@@ -850,7 +856,7 @@ func updateMachineConfigPoolPausedCondition(conditions []metav1.Condition, gener
850856
ObservedGeneration: generation,
851857
LastTransitionTime: metav1.Now(),
852858
}
853-
conditions, _ = status.ComputeConditions(conditions, condition, time.Now())
859+
apimeta.SetStatusCondition(&conditions, condition)
854860
return conditions
855861
}
856862

pkg/status/status.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,18 +193,18 @@ func newBaseConditions(now time.Time) []metav1.Condition {
193193
}
194194

195195
// NewNUMAResourcesOperatorConditions creates specific operator conditions on
196-
// top of DefaultBaseConditions.
196+
// top of newBaseConditions.
197197
func NewNUMAResourcesOperatorConditions() []metav1.Condition {
198198
now := time.Now()
199-
return append(DefaultBaseConditions(now), operatorExtraConditions(now)...)
199+
return append(newBaseConditions(now), operatorExtraConditions(now)...)
200200
}
201201

202202
// EnsureNUMAResourcesOperatorConditions backfills operator-specific conditions
203203
// that may be missing after an upgrade from an older version.
204204
func EnsureNUMAResourcesOperatorConditions(conditions []metav1.Condition) []metav1.Condition {
205205
now := time.Now()
206206
for _, cond := range operatorExtraConditions(now) {
207-
if metahelper.FindStatusCondition(conditions, cond.Type) == nil {
207+
if FindCondition(conditions, cond.Type) == nil {
208208
conditions = append(conditions, cond)
209209
}
210210
}

test/e2e/serial/tests/configuration.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ var _ = Describe("[serial][disruptive] numaresources configuration management",
325325
updatedOperObj := &nropv1.NUMAResourcesOperator{}
326326
Eventually(func(g Gomega) {
327327
g.Expect(fxt.Client.Get(ctx, nroKey, updatedOperObj)).To(Succeed())
328-
g.Expect(isNROOperSyncedAt(&updatedOperObj.Status, status.ConditionAvailable, updatedOperObj.Generation)).To(Succeed())
328+
g.Expect(isNROOperSyncedAt(&updatedOperObj.Status, status.ConditionAvailable, updatedOperObj.Generation)).To(BeTrue())
329329
}).WithTimeout(10 * time.Minute).WithPolling(30 * time.Second).Should(Succeed())
330330

331331
By("verifying DaemonSet count matches NodeGroup count")
@@ -1592,6 +1592,20 @@ func isNROSchedUpToDate(nros *nropv1.NUMAResourcesScheduler) bool {
15921592
return isNROSchedAvailableAt(&nros.Status, nros.Generation)
15931593
}
15941594

1595+
func isNROOperSyncedAt(nropStatus *nropv1.NUMAResourcesOperatorStatus, conditionType string, gen int64) bool {
1596+
if nropStatus == nil {
1597+
return false
1598+
}
1599+
cond := status.FindCondition(nropStatus.Conditions, conditionType)
1600+
if cond == nil {
1601+
return false
1602+
}
1603+
if cond.Status != metav1.ConditionTrue {
1604+
return false
1605+
}
1606+
return cond.ObservedGeneration == gen
1607+
}
1608+
15951609
func isNROOperAvailableAt(nropStatus *nropv1.NUMAResourcesOperatorStatus, gen int64) bool {
15961610
if nropStatus == nil {
15971611
return false

0 commit comments

Comments
 (0)