From 8b1bf4378f189bdba4483fa2625a12945102ce9b Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Thu, 17 Jul 2025 14:02:16 +0300 Subject: [PATCH] WIP: set affinity for `patroni-version-check` pod --- percona/controller/pgcluster/controller.go | 1 + .../controller/pgcluster/controller_test.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/percona/controller/pgcluster/controller.go b/percona/controller/pgcluster/controller.go index f0623371a0..c4eb7defd0 100644 --- a/percona/controller/pgcluster/controller.go +++ b/percona/controller/pgcluster/controller.go @@ -440,6 +440,7 @@ func (r *PGClusterReconciler) reconcilePatroniVersionCheck(ctx context.Context, }, }, SecurityContext: cr.Spec.InstanceSets[0].SecurityContext, + Affinity: cr.Spec.InstanceSets[0].Affinity, TerminationGracePeriodSeconds: ptr.To(int64(5)), ImagePullSecrets: cr.Spec.ImagePullSecrets, Resources: &corev1.ResourceRequirements{ diff --git a/percona/controller/pgcluster/controller_test.go b/percona/controller/pgcluster/controller_test.go index 86b8a35ab4..46cf128d9b 100644 --- a/percona/controller/pgcluster/controller_test.go +++ b/percona/controller/pgcluster/controller_test.go @@ -1613,6 +1613,15 @@ var _ = Describe("patroni version check", Ordered, func() { cr2.Spec.InstanceSets[0].SecurityContext = &corev1.PodSecurityContext{ RunAsUser: &uid, } + cr2.Spec.InstanceSets[0].Affinity = &corev1.Affinity{ + NodeAffinity: &corev1.NodeAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []corev1.PreferredSchedulingTerm{ + { + Weight: int32(1), + }, + }, + }, + } cr2.Spec.ImagePullSecrets = []corev1.LocalObjectReference{ {Name: "test-pull-secret"}, } @@ -1683,10 +1692,20 @@ var _ = Describe("patroni version check", Ordered, func() { expectedImagePullSecrets := []corev1.LocalObjectReference{ {Name: "test-pull-secret"}, } + expectedAffinity := &corev1.Affinity{ + NodeAffinity: &corev1.NodeAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []corev1.PreferredSchedulingTerm{ + { + Weight: int32(1), + }, + }, + }, + } Expect(pod.Spec.SecurityContext).To(Equal(expectedSecurityContext)) Expect(pod.Spec.TerminationGracePeriodSeconds).To(Equal(ptr.To(int64(5)))) Expect(pod.Spec.ImagePullSecrets).To(Equal(expectedImagePullSecrets)) + Expect(pod.Spec.Affinity).To(Equal(expectedAffinity)) }) It("should preserve existing patroni version in annotation", func() {