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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 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 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..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,8 @@ metadata: name: monitoring spec: ports: - - name: mongos + - appProtocol: mongo + 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..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,8 @@ metadata: name: monitoring spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: monitoring-pmm3 spec: ports: - - name: mongos + - appProtocol: mongo + 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 c880e9994d..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,8 @@ metadata: name: monitoring-pmm3 spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27019 protocol: TCP targetPort: 27019 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..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,8 @@ metadata: name: one-pod spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: name: cluster-ip spec: ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: spec: externalTrafficPolicy: Local ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: spec: externalTrafficPolicy: Cluster ports: - - name: mongodb + - appProtocol: mongo + 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..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,8 @@ metadata: spec: externalTrafficPolicy: Cluster 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-cfg-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-cfg-1220.yml index dc03f04a90..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,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-1220.yml b/e2e-tests/upgrade-consistency-sharded-tls/compare/service_some-name-rs0-1220.yml index affc5cfd31..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,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-1220.yml b/e2e-tests/upgrade-consistency/compare/service_some-name-rs0-1220.yml index affc5cfd31..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,8 @@ metadata: name: some-name spec: ports: - - name: mongodb + - appProtocol: mongo + name: mongodb port: 27017 protocol: TCP targetPort: 27017 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..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 @@ -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: mongo + 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..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 @@ -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: mongo + 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: mongo + 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: mongo + 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: mongo + 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..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 @@ -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: mongo + 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: mongo + 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..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 @@ -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: mongo + 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: mongo + 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: mongo + 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: mongo + 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: mongo + name: mongodb port: 27017 targetPort: 27017 publishNotReadyAddresses: true diff --git a/pkg/naming/service.go b/pkg/naming/service.go new file mode 100644 index 0000000000..4e1af3b113 --- /dev/null +++ b/pkg/naming/service.go @@ -0,0 +1,20 @@ +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 { + // 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 + // + // 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.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, diff --git a/pkg/psmdb/mongos_test.go b/pkg/psmdb/mongos_test.go index 57d215175a..0ad8a85bbf 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("mongo"), }, }, 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("mongo"), }, }, 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("mongo"), }, }, Selector: map[string]string{ diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index 02bf647267..b4a9b2dacf 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -38,9 +38,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: naming.AppProtocol(cr), }, }, ClusterIP: "None", @@ -57,7 +58,6 @@ func Service(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) *corev1.Ser svc.Labels[k] = v } } - return svc } @@ -86,9 +86,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: naming.AppProtocol(cr), }, }, Selector: map[string]string{"statefulset.kubernetes.io/pod-name": podName}, @@ -127,7 +128,6 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod default: svc.Spec.Type = corev1.ServiceTypeClusterIP } - return svc } 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"},