From 72a4d551e97e73a37fbbeb15df84e00de058ba0d Mon Sep 17 00:00:00 2001 From: Soren Mathiasen Date: Thu, 14 Dec 2023 15:54:19 +0100 Subject: [PATCH 01/12] Setting appProtocol for service objects --- pkg/psmdb/service.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index bf3ece15b6..abecab398b 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -28,7 +28,7 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser "app.kubernetes.io/managed-by": "percona-server-mongodb-operator", "app.kubernetes.io/part-of": "percona-server-mongodb", } - + appProtocol := "mongo" svc := &corev1.Service{ TypeMeta: metav1.TypeMeta{ APIVersion: "v1", @@ -42,9 +42,10 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser Spec: corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { - Name: mongodPortName, - Port: api.DefaultMongodPort, - TargetPort: intstr.FromInt(int(api.DefaultMongodPort)), + Name: mongodPortName, + Port: api.DefaultMongodPort, + TargetPort: intstr.FromInt(int(api.DefaultMongodPort)), + AppProtocol: &appProtocol, }, }, ClusterIP: "None", From 7b414d135ce6a6fa0bbcecc99639821e4e29bb3c Mon Sep 17 00:00:00 2001 From: Soren Mathiasen Date: Thu, 14 Dec 2023 15:54:19 +0100 Subject: [PATCH 02/12] Setting appProtocol for service objects --- .../compare/service_some-name-cfg-1160.yml | 3 ++- .../compare/service_some-name-rs0-1160.yml | 3 ++- .../compare/service_some-name-rs0-1160.yml | 3 ++- pkg/psmdb/service.go | 23 +++++++++++++------ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1160.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1160.yml index dc03f04a90..49e94f9e81 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1160.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1160.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1160.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1160.yml index affc5cfd31..ef1f64dcc4 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1160.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1160.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1160.yml b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1160.yml index affc5cfd31..ef1f64dcc4 100644 --- a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1160.yml +++ b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1160.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index abecab398b..5757be1d6a 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -28,7 +28,7 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser "app.kubernetes.io/managed-by": "percona-server-mongodb-operator", "app.kubernetes.io/part-of": "percona-server-mongodb", } - appProtocol := "mongo" + svc := &corev1.Service{ TypeMeta: metav1.TypeMeta{ APIVersion: "v1", @@ -42,10 +42,9 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser Spec: corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { - Name: mongodPortName, - Port: api.DefaultMongodPort, - TargetPort: intstr.FromInt(int(api.DefaultMongodPort)), - AppProtocol: &appProtocol, + Name: mongodPortName, + Port: api.DefaultMongodPort, + TargetPort: intstr.FromInt(int(api.DefaultMongodPort)), }, }, ClusterIP: "None", @@ -64,7 +63,12 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser } } } - + if cr.CompareVersion("1.16.0") >= 0 { + appProtocol := "mongo" + for _, v := range svc.Spec.Ports { + v.AppProtocol = &appProtocol + } + } return svc } @@ -119,7 +123,12 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod default: svc.Spec.Type = corev1.ServiceTypeClusterIP } - + if cr.CompareVersion("1.16.0") >= 0 { + appProtocol := "mongo" + for _, v := range svc.Spec.Ports { + v.AppProtocol = &appProtocol + } + } return svc } From ad7a3720949080cca38d1f5b27cb60b02e2643b3 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 11:29:00 +0200 Subject: [PATCH 03/12] update compare version --- pkg/psmdb/service.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index c5e6c9662f..eab823a90a 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -57,7 +57,7 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser svc.Labels[k] = v } } - if cr.CompareVersion("1.16.0") >= 0 { + if cr.CompareVersion("1.22.0") >= 0 { appProtocol := "mongo" for _, v := range svc.Spec.Ports { v.AppProtocol = &appProtocol @@ -132,7 +132,7 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod default: svc.Spec.Type = corev1.ServiceTypeClusterIP } - if cr.CompareVersion("1.16.0") >= 0 { + if cr.CompareVersion("1.22.0") >= 0 { appProtocol := "mongo" for _, v := range svc.Spec.Ports { v.AppProtocol = &appProtocol From 61b89168bbe0598e7df06e1577f41f4146165caa Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 11:36:09 +0200 Subject: [PATCH 04/12] small improvement --- pkg/psmdb/service.go | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index eab823a90a..4c0ffc9e00 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -13,6 +13,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" mcsv1alpha1 "sigs.k8s.io/mcs-api/pkg/apis/v1alpha1" @@ -38,9 +39,10 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser Spec: corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { - Name: config.MongodPortName, - Port: replset.GetPort(), - TargetPort: intstr.FromInt(int(replset.GetPort())), + Name: config.MongodPortName, + Port: replset.GetPort(), + TargetPort: intstr.FromInt(int(replset.GetPort())), + AppProtocol: appProtocol(cr, "mongo"), }, }, ClusterIP: "None", @@ -57,12 +59,6 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser svc.Labels[k] = v } } - if cr.CompareVersion("1.22.0") >= 0 { - appProtocol := "mongo" - for _, v := range svc.Spec.Ports { - v.AppProtocol = &appProtocol - } - } return svc } @@ -91,9 +87,10 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod svc.Spec = corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { - Name: config.MongodPortName, - Port: replset.GetPort(), - TargetPort: intstr.FromInt(int(replset.GetPort())), + Name: config.MongodPortName, + Port: replset.GetPort(), + TargetPort: intstr.FromInt(int(replset.GetPort())), + AppProtocol: appProtocol(cr, "mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": podName}, @@ -132,13 +129,14 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod default: svc.Spec.Type = corev1.ServiceTypeClusterIP } + return svc +} + +func appProtocol(cr *api.PerconaServerMongoDB, protocol string) *string { if cr.CompareVersion("1.22.0") >= 0 { - appProtocol := "mongo" - for _, v := range svc.Spec.Ports { - v.AppProtocol = &appProtocol - } + return ptr.To(protocol) } - return svc + return nil } type ServiceAddr struct { From 143ac51eec1bf0628c630c591bdb0d9e64db2d73 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 11:38:18 +0200 Subject: [PATCH 05/12] fix unit-test --- pkg/psmdb/service_test.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pkg/psmdb/service_test.go b/pkg/psmdb/service_test.go index fcbe9e2c37..19c2809ec2 100644 --- a/pkg/psmdb/service_test.go +++ b/pkg/psmdb/service_test.go @@ -168,9 +168,10 @@ func TestExternalService(t *testing.T) { PublishNotReadyAddresses: true, Ports: []corev1.ServicePort{ { - Name: "mongodb", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongodb", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, @@ -220,9 +221,10 @@ func TestExternalService(t *testing.T) { PublishNotReadyAddresses: true, Ports: []corev1.ServicePort{ { - Name: "mongodb", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongodb", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, @@ -275,9 +277,10 @@ func TestExternalService(t *testing.T) { PublishNotReadyAddresses: true, Ports: []corev1.ServicePort{ { - Name: "mongodb", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongodb", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, From c7a038ebf635ba9756285ab337ee28c09ba83272 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 11:50:14 +0200 Subject: [PATCH 06/12] change `mongo` to `mongodb` --- pkg/naming/service.go | 17 +++++++++++++++++ pkg/psmdb/service.go | 12 ++---------- 2 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 pkg/naming/service.go diff --git a/pkg/naming/service.go b/pkg/naming/service.go new file mode 100644 index 0000000000..b692afe9fa --- /dev/null +++ b/pkg/naming/service.go @@ -0,0 +1,17 @@ +package naming + +import ( + "k8s.io/utils/ptr" + + api "github.com/percona/percona-server-mongodb-operator/pkg/apis/psmdb/v1" +) + +func AppProtocol(cr *api.PerconaServerMongoDB) *string { + if cr.CompareVersion("1.22.0") >= 0 { + // `mongodb` is an IANA-registered service name: + // https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=27017 + // Kubernetes recommends using IANA-registered service names for `appProtocol` + return ptr.To("mongodb") + } + return nil +} diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index 4c0ffc9e00..b4a9b2dacf 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -13,7 +13,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" - "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" mcsv1alpha1 "sigs.k8s.io/mcs-api/pkg/apis/v1alpha1" @@ -42,7 +41,7 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser Name: config.MongodPortName, Port: replset.GetPort(), TargetPort: intstr.FromInt(int(replset.GetPort())), - AppProtocol: appProtocol(cr, "mongo"), + AppProtocol: naming.AppProtocol(cr), }, }, ClusterIP: "None", @@ -90,7 +89,7 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod Name: config.MongodPortName, Port: replset.GetPort(), TargetPort: intstr.FromInt(int(replset.GetPort())), - AppProtocol: appProtocol(cr, "mongo"), + AppProtocol: naming.AppProtocol(cr), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": podName}, @@ -132,13 +131,6 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod return svc } -func appProtocol(cr *api.PerconaServerMongoDB, protocol string) *string { - if cr.CompareVersion("1.22.0") >= 0 { - return ptr.To(protocol) - } - return nil -} - type ServiceAddr struct { Host string Port int From 680a8bd0439aa11080941981aa24d875b8195f45 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 12:02:10 +0200 Subject: [PATCH 07/12] add appProtocol to mongos service and fix tests --- .../compare/service_some-name-cfg-0-crmeta.yml | 3 ++- .../compare/service_some-name-cfg-0-manual.yml | 3 ++- .../compare/service_some-name-cfg-0-no-ignored-meta.yml | 3 ++- ...ervice_some-name-cfg-0-one-service-label-annotation.yml | 3 ++- ...vice_some-name-cfg-0-two-service-labels-annotations.yml | 3 ++- .../compare/service_some-name-mongos-0-crmeta.yml | 3 ++- .../compare/service_some-name-mongos-0-manual.yml | 3 ++- .../compare/service_some-name-mongos-0-no-ignored-meta.yml | 3 ++- ...ice_some-name-mongos-0-one-service-label-annotation.yml | 3 ++- ...e_some-name-mongos-0-two-service-labels-annotations.yml | 3 ++- .../compare/service_some-name-rs0-0-crmeta.yml | 3 ++- .../compare/service_some-name-rs0-0-manual.yml | 3 ++- .../compare/service_some-name-rs0-0-no-ignored-meta.yml | 3 ++- ...ervice_some-name-rs0-0-one-service-label-annotation.yml | 3 ++- ...vice_some-name-rs0-0-two-service-labels-annotations.yml | 3 ++- .../monitoring-2-0/compare/service_monitoring-mongos.yml | 3 ++- .../monitoring-2-0/compare/service_monitoring-rs0.yml | 3 ++- .../compare/service_monitoring-pmm3-mongos.yml | 3 ++- .../compare/service_monitoring-pmm3-rs0.yml | 2 +- e2e-tests/one-pod/compare/service_one-pod-rs0.yml | 3 ++- .../service-per-pod/compare/service_cluster-ip-rs0-0.yml | 3 ++- .../compare/service_local-balancer-rs0-0.yml | 3 ++- .../compare/service_node-port-rs0-0-updated.yml | 3 ++- .../service-per-pod/compare/service_node-port-rs0-0.yml | 3 ++- .../compare/service_some-name-cfg-1220.yml | 2 +- .../compare/service_some-name-rs0-1220.yml | 3 ++- .../compare/service_some-name-rs0-1201.yml | 3 +-- .../compare/service_some-name-rs0-1220.yml | 3 ++- pkg/psmdb/mongos.go | 7 ++++--- 29 files changed, 57 insertions(+), 32 deletions(-) diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml index 9b340e7fbc..e43cd26b80 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml index b91b23eb2a..5278c837b3 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml index 575b5d7ca8..b340b9cb14 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml @@ -18,7 +18,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml index f2dfc120c7..8a5d31df0f 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml index f44f1d8939..f18e45863d 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml @@ -22,7 +22,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml index 6910ddb0ed..f765fa4ef5 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml @@ -19,7 +19,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml index e914a9de5b..2e5d98cea9 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml @@ -19,7 +19,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml index d4a279d8c9..e3938fabe5 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml @@ -17,7 +17,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml index 3f72be7e19..1e246cb2a1 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml @@ -19,7 +19,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml index 9adb7e22d5..bf20660ef7 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml @@ -21,7 +21,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml index fa2f0bc18f..181a649ec6 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml index 6bf70b3387..38947568a6 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml index a778dd0e2c..3c1f7d429b 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml @@ -18,7 +18,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml index de99c93e8f..572e245e9a 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml @@ -20,7 +20,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml index 76b8d68d74..8d6ec4db4e 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml @@ -22,7 +22,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml b/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml index dedd76d0d7..957aefcb6d 100644 --- a/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml +++ b/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml @@ -17,7 +17,8 @@ metadata: name: monitoring spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27019 protocol: TCP targetPort: 27019 diff --git a/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml b/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml index 247a3da3e7..ef7500a758 100644 --- a/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml +++ b/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml @@ -15,7 +15,8 @@ metadata: name: monitoring spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27019 protocol: TCP targetPort: 27019 diff --git a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml index 3d978c5113..1adce934dd 100644 --- a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml +++ b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml @@ -17,7 +17,8 @@ metadata: name: monitoring-pmm3 spec: ports: - - name: mongos + - appProtocol: mongodb + name: mongos port: 27019 protocol: TCP targetPort: 27019 diff --git a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml index 11857cc3b8..c427a800f6 100644 --- a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml +++ b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml @@ -15,7 +15,7 @@ metadata: name: monitoring-pmm3 spec: ports: - - appProtocol: mongo + - appProtocol: mongodb name: mongodb port: 27019 protocol: TCP diff --git a/e2e-tests/one-pod/compare/service_one-pod-rs0.yml b/e2e-tests/one-pod/compare/service_one-pod-rs0.yml index acb7347e10..fa60353a86 100644 --- a/e2e-tests/one-pod/compare/service_one-pod-rs0.yml +++ b/e2e-tests/one-pod/compare/service_one-pod-rs0.yml @@ -17,7 +17,8 @@ metadata: name: one-pod spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml index a93e950dbd..a629b7691e 100644 --- a/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml @@ -16,7 +16,8 @@ metadata: name: cluster-ip spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml index 6612bf3022..e7a9714a95 100644 --- a/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml @@ -17,7 +17,8 @@ metadata: spec: externalTrafficPolicy: Local ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml index 53d236c200..f597eb9bfd 100644 --- a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml +++ b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml @@ -19,7 +19,8 @@ metadata: spec: externalTrafficPolicy: Cluster ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml index fc989528ae..05f4102dd0 100644 --- a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml @@ -17,7 +17,8 @@ metadata: spec: externalTrafficPolicy: Cluster ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml index 49e94f9e81..01190675f2 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml @@ -15,7 +15,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongo + - appProtocol: mongodb name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml index affc5cfd31..ebd67fe431 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1201.yml b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1201.yml index ef1f64dcc4..affc5cfd31 100644 --- a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1201.yml +++ b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1201.yml @@ -15,8 +15,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongo - name: mongodb + - name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml index affc5cfd31..ebd67fe431 100644 --- a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml +++ b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/pkg/psmdb/mongos.go b/pkg/psmdb/mongos.go index 28e461ec02..b96453d9e2 100644 --- a/pkg/psmdb/mongos.go +++ b/pkg/psmdb/mongos.go @@ -438,9 +438,10 @@ func MongosServiceSpec(cr *api.PerconaServerMongoDB, podName string) corev1.Serv spec := corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { - Name: config.MongosPortName, - Port: cr.Spec.Sharding.Mongos.GetPort(), - TargetPort: intstr.FromInt(int(cr.Spec.Sharding.Mongos.GetPort())), + Name: config.MongosPortName, + Port: cr.Spec.Sharding.Mongos.GetPort(), + TargetPort: intstr.FromInt(int(cr.Spec.Sharding.Mongos.GetPort())), + AppProtocol: naming.AppProtocol(cr), }, }, Selector: ls, From d9c92c1e17e4930dc2a578a1feb48663ac5c1dea Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 12:07:53 +0200 Subject: [PATCH 08/12] fix unit-tests --- pkg/psmdb/mongos_test.go | 21 ++++++++++++--------- pkg/psmdb/service_test.go | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pkg/psmdb/mongos_test.go b/pkg/psmdb/mongos_test.go index 57d215175a..867f690ee8 100644 --- a/pkg/psmdb/mongos_test.go +++ b/pkg/psmdb/mongos_test.go @@ -34,9 +34,10 @@ func TestMongosService(t *testing.T) { PublishNotReadyAddresses: false, Ports: []corev1.ServicePort{ { - Name: "mongos", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongos", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{ @@ -64,9 +65,10 @@ func TestMongosService(t *testing.T) { PublishNotReadyAddresses: false, Ports: []corev1.ServicePort{ { - Name: "mongos", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongos", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{ @@ -97,9 +99,10 @@ func TestMongosService(t *testing.T) { PublishNotReadyAddresses: false, Ports: []corev1.ServicePort{ { - Name: "mongos", - Port: 27017, - TargetPort: intstr.FromInt(27017), + Name: "mongos", + Port: 27017, + TargetPort: intstr.FromInt(27017), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{ diff --git a/pkg/psmdb/service_test.go b/pkg/psmdb/service_test.go index 19c2809ec2..9377ddaba0 100644 --- a/pkg/psmdb/service_test.go +++ b/pkg/psmdb/service_test.go @@ -171,7 +171,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongo"), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, @@ -224,7 +224,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongo"), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, From a2524ed8feb6796441f5e30ab42fc6be76db9ce7 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 12:21:24 +0200 Subject: [PATCH 09/12] fix unit-test --- pkg/psmdb/service_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/psmdb/service_test.go b/pkg/psmdb/service_test.go index 9377ddaba0..8ef4ec2708 100644 --- a/pkg/psmdb/service_test.go +++ b/pkg/psmdb/service_test.go @@ -280,7 +280,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongo"), + AppProtocol: ptr.To("mongodb"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, From 0e23bf2159ca5a0bd08a8031eba13c10b56e5b03 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 12:51:41 +0200 Subject: [PATCH 10/12] fix `TestReconcileReplsetServices` --- .../perconaservermongodb/service_test.go | 1 + .../testdata/rs-svc/svc_list_expose_off.yaml | 5 ++-- .../testdata/rs-svc/svc_list_expose_on.yaml | 20 ++++++--------- .../rs-svc/svc_list_sharded_expose_off.yaml | 10 +++----- .../rs-svc/svc_list_sharded_expose_on.yaml | 25 ++++++++----------- 5 files changed, 25 insertions(+), 36 deletions(-) diff --git a/pkg/controller/perconaservermongodb/service_test.go b/pkg/controller/perconaservermongodb/service_test.go index 0909b1c90b..e8c64cfa2d 100644 --- a/pkg/controller/perconaservermongodb/service_test.go +++ b/pkg/controller/perconaservermongodb/service_test.go @@ -41,6 +41,7 @@ func TestReconcileReplsetServices(t *testing.T) { for i := range svcList.Items { svcList.Items[i].APIVersion = "v1" svcList.Items[i].Kind = "Service" + delete(svcList.Items[i].Annotations, "percona.com/last-config-hash") } yamlCompare(t, ns, filename, svcList) diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml index 7582b912cf..4de67af2b7 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml @@ -2,8 +2,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoicnMwIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -22,7 +20,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml index 364a39ba83..bbe551d86d 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml @@ -2,8 +2,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoicnMwIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -22,7 +20,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: @@ -36,8 +35,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMCJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -56,7 +53,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true @@ -68,8 +66,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMSJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -88,7 +84,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true @@ -100,8 +97,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMiJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -120,7 +115,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml index 572bb75095..06d53be707 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml @@ -2,8 +2,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoiY2ZnIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -22,7 +20,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: @@ -36,8 +35,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoicnMwIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -56,7 +53,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml index 471fab2667..ad62a5c139 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml @@ -2,8 +2,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoiY2ZnIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -22,7 +20,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: @@ -36,8 +35,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsiYXBwLmt1YmVybmV0ZXMuaW8vaW5zdGFuY2UiOiJycy1zdmMiLCJhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5IjoicGVyY29uYS1zZXJ2ZXItbW9uZ29kYi1vcGVyYXRvciIsImFwcC5rdWJlcm5ldGVzLmlvL25hbWUiOiJwZXJjb25hLXNlcnZlci1tb25nb2RiIiwiYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZiI6InBlcmNvbmEtc2VydmVyLW1vbmdvZGIiLCJhcHAua3ViZXJuZXRlcy5pby9yZXBsc2V0IjoicnMwIn0sImNsdXN0ZXJJUCI6Ik5vbmUifQ== labels: app.kubernetes.io/instance: rs-svc app.kubernetes.io/managed-by: percona-server-mongodb-operator @@ -56,7 +53,8 @@ items: spec: clusterIP: None ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 selector: @@ -70,8 +68,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMCJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -90,7 +86,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true @@ -102,8 +99,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMSJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -122,7 +117,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true @@ -134,8 +130,6 @@ items: - apiVersion: v1 kind: Service metadata: - annotations: - percona.com/last-config-hash: eyJwb3J0cyI6W3sibmFtZSI6Im1vbmdvZGIiLCJwb3J0IjoyNzAxNywidGFyZ2V0UG9ydCI6MjcwMTd9XSwic2VsZWN0b3IiOnsic3RhdGVmdWxzZXQua3ViZXJuZXRlcy5pby9wb2QtbmFtZSI6InJzLXN2Yy1yczAtMiJ9LCJ0eXBlIjoiQ2x1c3RlcklQIiwicHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzIjp0cnVlfQ== labels: app.kubernetes.io/component: external-service app.kubernetes.io/instance: rs-svc @@ -154,7 +148,8 @@ items: resourceVersion: "1" spec: ports: - - name: mongodb + - appProtocol: mongodb + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true From 2034f483a7fc51d7ae8c3b6c83d6fdb90a0c2345 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 16 Dec 2025 13:11:33 +0200 Subject: [PATCH 11/12] switch back to `mongo` --- .../compare/service_some-name-cfg-0-crmeta.yml | 2 +- .../compare/service_some-name-cfg-0-manual.yml | 2 +- .../service_some-name-cfg-0-no-ignored-meta.yml | 2 +- ...ce_some-name-cfg-0-one-service-label-annotation.yml | 2 +- ..._some-name-cfg-0-two-service-labels-annotations.yml | 2 +- .../compare/service_some-name-mongos-0-crmeta.yml | 2 +- .../compare/service_some-name-mongos-0-manual.yml | 2 +- .../service_some-name-mongos-0-no-ignored-meta.yml | 2 +- ...some-name-mongos-0-one-service-label-annotation.yml | 2 +- ...me-name-mongos-0-two-service-labels-annotations.yml | 2 +- .../compare/service_some-name-rs0-0-crmeta.yml | 2 +- .../compare/service_some-name-rs0-0-manual.yml | 2 +- .../service_some-name-rs0-0-no-ignored-meta.yml | 2 +- ...ce_some-name-rs0-0-one-service-label-annotation.yml | 2 +- ..._some-name-rs0-0-two-service-labels-annotations.yml | 2 +- .../compare/service_monitoring-mongos.yml | 2 +- .../monitoring-2-0/compare/service_monitoring-rs0.yml | 2 +- .../compare/service_monitoring-pmm3-mongos.yml | 2 +- .../compare/service_monitoring-pmm3-rs0.yml | 2 +- e2e-tests/one-pod/compare/service_one-pod-rs0.yml | 2 +- .../compare/service_cluster-ip-rs0-0.yml | 2 +- .../compare/service_local-balancer-rs0-0.yml | 2 +- .../compare/service_node-port-rs0-0-updated.yml | 2 +- .../compare/service_node-port-rs0-0.yml | 2 +- .../compare/service_some-name-cfg-1220.yml | 2 +- .../compare/service_some-name-rs0-1220.yml | 2 +- .../compare/service_some-name-rs0-1220.yml | 2 +- .../testdata/rs-svc/svc_list_expose_off.yaml | 2 +- .../testdata/rs-svc/svc_list_expose_on.yaml | 8 ++++---- .../testdata/rs-svc/svc_list_sharded_expose_off.yaml | 4 ++-- .../testdata/rs-svc/svc_list_sharded_expose_on.yaml | 10 +++++----- pkg/naming/service.go | 7 +++++-- pkg/psmdb/mongos_test.go | 6 +++--- pkg/psmdb/service_test.go | 6 +++--- 34 files changed, 50 insertions(+), 47 deletions(-) diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml index e43cd26b80..18cd89f839 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-crmeta.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml index 5278c837b3..e0b279fdbc 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-manual.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml index b340b9cb14..d818a1ddc4 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-no-ignored-meta.yml @@ -18,7 +18,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml index 8a5d31df0f..c839492c52 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-one-service-label-annotation.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml index f18e45863d..a13110dc0a 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-cfg-0-two-service-labels-annotations.yml @@ -22,7 +22,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml index f765fa4ef5..b3d6083e49 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-crmeta.yml @@ -19,7 +19,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml index 2e5d98cea9..bf1a0ea0ee 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-manual.yml @@ -19,7 +19,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml index e3938fabe5..5032738e84 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-no-ignored-meta.yml @@ -17,7 +17,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml index 1e246cb2a1..868597ac80 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-one-service-label-annotation.yml @@ -19,7 +19,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml index bf20660ef7..3811e0ef12 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-mongos-0-two-service-labels-annotations.yml @@ -21,7 +21,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml index 181a649ec6..5d4b35d022 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-crmeta.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml index 38947568a6..959d001420 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-manual.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml index 3c1f7d429b..12d314b261 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-no-ignored-meta.yml @@ -18,7 +18,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml index 572e245e9a..485b183887 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-one-service-label-annotation.yml @@ -20,7 +20,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml index 8d6ec4db4e..da1710f040 100644 --- a/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml +++ b/e2e-tests/ignore-labels-annotations/compare/service_some-name-rs0-0-two-service-labels-annotations.yml @@ -22,7 +22,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml b/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml index 957aefcb6d..60afe4e2e0 100644 --- a/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml +++ b/e2e-tests/monitoring-2-0/compare/service_monitoring-mongos.yml @@ -17,7 +17,7 @@ metadata: name: monitoring spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27019 protocol: TCP diff --git a/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml b/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml index ef7500a758..d71738a884 100644 --- a/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml +++ b/e2e-tests/monitoring-2-0/compare/service_monitoring-rs0.yml @@ -15,7 +15,7 @@ metadata: name: monitoring spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27019 protocol: TCP diff --git a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml index 1adce934dd..12a1ddec96 100644 --- a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml +++ b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-mongos.yml @@ -17,7 +17,7 @@ metadata: name: monitoring-pmm3 spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongos port: 27019 protocol: TCP diff --git a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml index c427a800f6..11857cc3b8 100644 --- a/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml +++ b/e2e-tests/monitoring-pmm3/compare/service_monitoring-pmm3-rs0.yml @@ -15,7 +15,7 @@ metadata: name: monitoring-pmm3 spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27019 protocol: TCP diff --git a/e2e-tests/one-pod/compare/service_one-pod-rs0.yml b/e2e-tests/one-pod/compare/service_one-pod-rs0.yml index fa60353a86..3bef1e8528 100644 --- a/e2e-tests/one-pod/compare/service_one-pod-rs0.yml +++ b/e2e-tests/one-pod/compare/service_one-pod-rs0.yml @@ -17,7 +17,7 @@ metadata: name: one-pod spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml index a629b7691e..83f7ae1c1f 100644 --- a/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml @@ -16,7 +16,7 @@ metadata: name: cluster-ip spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml index e7a9714a95..eee711e95b 100644 --- a/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml @@ -17,7 +17,7 @@ metadata: spec: externalTrafficPolicy: Local ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml index f597eb9bfd..1bb46c779f 100644 --- a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml +++ b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml @@ -19,7 +19,7 @@ metadata: spec: externalTrafficPolicy: Cluster ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml index 05f4102dd0..d096d1c0cc 100644 --- a/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml +++ b/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml @@ -17,7 +17,7 @@ metadata: spec: externalTrafficPolicy: Cluster ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml index 01190675f2..49e94f9e81 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml @@ -15,7 +15,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml index ebd67fe431..ef1f64dcc4 100644 --- a/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml +++ b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml @@ -15,7 +15,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml index ebd67fe431..ef1f64dcc4 100644 --- a/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml +++ b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml @@ -15,7 +15,7 @@ metadata: name: some-name spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 protocol: TCP diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml index 4de67af2b7..6f2d5f5581 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_off.yaml @@ -20,7 +20,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml index bbe551d86d..527b9d76e8 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_expose_on.yaml @@ -20,7 +20,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -53,7 +53,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -84,7 +84,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -115,7 +115,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml index 06d53be707..8a5757da9d 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_off.yaml @@ -20,7 +20,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -53,7 +53,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 diff --git a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml index ad62a5c139..fc46ceb57d 100644 --- a/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml +++ b/pkg/controller/perconaservermongodb/testdata/rs-svc/svc_list_sharded_expose_on.yaml @@ -20,7 +20,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -53,7 +53,7 @@ items: spec: clusterIP: None ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -86,7 +86,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -117,7 +117,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 @@ -148,7 +148,7 @@ items: resourceVersion: "1" spec: ports: - - appProtocol: mongodb + - appProtocol: mongo name: mongodb port: 27017 targetPort: 27017 diff --git a/pkg/naming/service.go b/pkg/naming/service.go index b692afe9fa..4e1af3b113 100644 --- a/pkg/naming/service.go +++ b/pkg/naming/service.go @@ -8,10 +8,13 @@ import ( func AppProtocol(cr *api.PerconaServerMongoDB) *string { if cr.CompareVersion("1.22.0") >= 0 { + // Kubernetes recommends using IANA-registered service names for `appProtocol`. // `mongodb` is an IANA-registered service name: // https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=27017 - // Kubernetes recommends using IANA-registered service names for `appProtocol` - return ptr.To("mongodb") + // + // However, Istio expects `appProtocol: mongo`, so we use that instead. + // https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/#explicit-protocol-selection + return ptr.To("mongo") } return nil } diff --git a/pkg/psmdb/mongos_test.go b/pkg/psmdb/mongos_test.go index 867f690ee8..0ad8a85bbf 100644 --- a/pkg/psmdb/mongos_test.go +++ b/pkg/psmdb/mongos_test.go @@ -37,7 +37,7 @@ func TestMongosService(t *testing.T) { Name: "mongos", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{ @@ -68,7 +68,7 @@ func TestMongosService(t *testing.T) { Name: "mongos", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{ @@ -102,7 +102,7 @@ func TestMongosService(t *testing.T) { Name: "mongos", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{ diff --git a/pkg/psmdb/service_test.go b/pkg/psmdb/service_test.go index 8ef4ec2708..19c2809ec2 100644 --- a/pkg/psmdb/service_test.go +++ b/pkg/psmdb/service_test.go @@ -171,7 +171,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, @@ -224,7 +224,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, @@ -280,7 +280,7 @@ func TestExternalService(t *testing.T) { Name: "mongodb", Port: 27017, TargetPort: intstr.FromInt(27017), - AppProtocol: ptr.To("mongodb"), + AppProtocol: ptr.To("mongo"), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": "test-cr-rs0-0"}, From 371bdb64640f297e36461f9cff6152f74a37a7bb Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Wed, 17 Dec 2025 16:21:38 +0200 Subject: [PATCH 12/12] fix init-deploy --- e2e-tests/init-deploy/compare/service_another-name-rs0.yml | 3 ++- e2e-tests/init-deploy/compare/service_some-name-rs0.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/e2e-tests/init-deploy/compare/service_another-name-rs0.yml b/e2e-tests/init-deploy/compare/service_another-name-rs0.yml index daa24aae35..c73b3113e5 100644 --- a/e2e-tests/init-deploy/compare/service_another-name-rs0.yml +++ b/e2e-tests/init-deploy/compare/service_another-name-rs0.yml @@ -15,7 +15,8 @@ metadata: name: another-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 diff --git a/e2e-tests/init-deploy/compare/service_some-name-rs0.yml b/e2e-tests/init-deploy/compare/service_some-name-rs0.yml index affc5cfd31..ef1f64dcc4 100644 --- a/e2e-tests/init-deploy/compare/service_some-name-rs0.yml +++ b/e2e-tests/init-deploy/compare/service_some-name-rs0.yml @@ -15,7 +15,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017