From cd534b992ba717b9cf7275d853b8adc3a9a8839c Mon Sep 17 00:00:00 2001 From: Pujol Date: Thu, 12 Mar 2026 12:11:34 +0100 Subject: [PATCH] [NXOS] fix: requeue when interface is operationally down After a new Port-channel is created on a device, its member interfaces transition from `down` to `link-up` to `up`. When the port-channel reconciles, it triggers a reconciliation of its members. This can happen before the member reaches the `up` state, causing the controller to report it as down and not recheck for up to an hour. Requeue after 5 seconds when the interface is operationally down instead of waiting for the full requeue interval. This allows the controller to quickly pick up the final `up` state. --- internal/controller/core/interface_controller.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/controller/core/interface_controller.go b/internal/controller/core/interface_controller.go index 04b53984..11428cc7 100644 --- a/internal/controller/core/interface_controller.go +++ b/internal/controller/core/interface_controller.go @@ -483,6 +483,10 @@ func (r *InterfaceReconciler) reconcile(ctx context.Context, s *scope) (_ ctrl.R } conditions.Set(s.Interface, cond) + if !status.OperStatus { + return ctrl.Result{RequeueAfter: time.Second * 5}, nil + } + return ctrl.Result{RequeueAfter: Jitter(r.RequeueInterval)}, nil }