From ac132a584074a1b0d8d211451d04d46ea09b93a3 Mon Sep 17 00:00:00 2001 From: Hussein Galal Date: Thu, 6 Feb 2025 22:36:05 +0200 Subject: [PATCH] Fixing etcd pod controller (#233) * Fixing etcd pod controller Signed-off-by: galal-hussein * Fix logic in etcd pod controller Signed-off-by: galal-hussein --------- Signed-off-by: galal-hussein --- Dockerfile.dapper | 2 +- pkg/controller/cluster/pod.go | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile.dapper b/Dockerfile.dapper index 8e156c60..c927f3ea 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -23,7 +23,7 @@ RUN go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest && \ cp $ENVTEST_BIN/* /usr/local/kubebuilder/bin ENV GO111MODULE on -ENV DAPPER_ENV REPO TAG DRONE_TAG CROSS GITHUB_TOKEN SKIP_TESTS +ENV DAPPER_ENV REPO TAG DRONE_TAG CROSS GITHUB_TOKEN SKIP_TESTS GIT_TAG ENV DAPPER_SOURCE /go/src/github.com/rancher/k3k/ ENV DAPPER_OUTPUT ./bin ./dist ./deploy ./charts ENV DAPPER_DOCKER_SOCKET true diff --git a/pkg/controller/cluster/pod.go b/pkg/controller/cluster/pod.go index 6ec3d39e..820b7626 100644 --- a/pkg/controller/cluster/pod.go +++ b/pkg/controller/cluster/pod.go @@ -59,7 +59,7 @@ func AddPodController(ctx context.Context, mgr manager.Manager) error { } func (p *PodReconciler) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error) { - log := ctrl.LoggerFrom(ctx).WithValues("pod", req.NamespacedName) + log := ctrl.LoggerFrom(ctx).WithValues("statefulset", req.NamespacedName) ctx = ctrl.LoggerInto(ctx, log) // enrich the current logger s := strings.Split(req.Name, "-") @@ -71,7 +71,7 @@ func (p *PodReconciler) Reconcile(ctx context.Context, req reconcile.Request) (r } clusterName := s[1] var cluster v1alpha1.Cluster - if err := p.Client.Get(ctx, types.NamespacedName{Name: clusterName}, &cluster); err != nil { + if err := p.Client.Get(ctx, types.NamespacedName{Name: clusterName, Namespace: req.Namespace}, &cluster); err != nil { if !apierrors.IsNotFound(err) { return reconcile.Result{}, err } @@ -84,8 +84,10 @@ func (p *PodReconciler) Reconcile(ctx context.Context, req reconcile.Request) (r if err := p.Client.List(ctx, &podList, listOpts); err != nil { return reconcile.Result{}, ctrlruntimeclient.IgnoreNotFound(err) } + if len(podList.Items) == 1 { + return reconcile.Result{}, nil + } for _, pod := range podList.Items { - if err := p.handleServerPod(ctx, cluster, &pod); err != nil { return reconcile.Result{}, err }