From 1a0858d350a9accdddc8fa9319e0d9768001dcd3 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Sun, 7 Sep 2025 11:02:44 +0200 Subject: [PATCH] fix: konnectivity logs and nil pointer dereference (#951) * fix(konnectivity): avoiding nil pointer reconcile for agent Signed-off-by: Dario Tranchitella * fix(log): ignoring not found errors for konnectivity cleanup Signed-off-by: Dario Tranchitella --------- Signed-off-by: Dario Tranchitella --- controllers/soot/controllers/konnectivity.go | 4 ++++ internal/resources/konnectivity/agent.go | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/controllers/soot/controllers/konnectivity.go b/controllers/soot/controllers/konnectivity.go index c172406..39506df 100644 --- a/controllers/soot/controllers/konnectivity.go +++ b/controllers/soot/controllers/konnectivity.go @@ -53,6 +53,10 @@ func (k *KonnectivityAgent) Reconcile(ctx context.Context, _ reconcile.Request) return reconcile.Result{}, err } + if tcp.Spec.Addons.Konnectivity == nil { + return reconcile.Result{}, nil + } + for _, resource := range controllers.GetExternalKonnectivityResources(k.AdminClient) { k.Logger.Info("start processing", "resource", resource.GetName()) diff --git a/internal/resources/konnectivity/agent.go b/internal/resources/konnectivity/agent.go index cbbfd95..37bf657 100644 --- a/internal/resources/konnectivity/agent.go +++ b/internal/resources/konnectivity/agent.go @@ -116,7 +116,7 @@ func (r *Agent) CreateOrUpdate(ctx context.Context, tenantControlPlane *kamajiv1 obj.SetName(r.resource.GetName()) obj.SetNamespace(r.resource.GetNamespace()) - if cleanupErr := r.tenantClient.Delete(ctx, &obj); cleanupErr != nil { + if cleanupErr := r.tenantClient.Delete(ctx, &obj); cleanupErr != nil && !k8serrors.IsNotFound(cleanupErr) { log.FromContext(ctx, "resource", r.GetName()).Error(cleanupErr, "cannot cleanup older appsv1.Deployment") } case tenantControlPlane.Spec.Addons.Konnectivity.KonnectivityAgentSpec.Mode == kamajiv1alpha1.KonnectivityAgentModeDeployment && @@ -125,7 +125,7 @@ func (r *Agent) CreateOrUpdate(ctx context.Context, tenantControlPlane *kamajiv1 obj.SetName(r.resource.GetName()) obj.SetNamespace(r.resource.GetNamespace()) - if cleanupErr := r.tenantClient.Delete(ctx, &obj); cleanupErr != nil { + if cleanupErr := r.tenantClient.Delete(ctx, &obj); cleanupErr != nil && !k8serrors.IsNotFound(cleanupErr) { log.FromContext(ctx, "resource", r.GetName()).Error(cleanupErr, "cannot cleanup older appsv1.DaemonSet") } }