Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/logs/service-per-pod.log Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 + main + create_infra service-per-pod-15653 + local ns=service-per-pod-15653 + [[ 1 == 1 ]] + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.9BK8SVfrCu ++ mktemp + local LAST_ERR=/tmp/tmp.VKseikfwtS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9BK8SVfrCu customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.VKseikfwtS + rm /tmp/tmp.9BK8SVfrCu /tmp/tmp.VKseikfwtS + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.FmYk7qBeHA ++ mktemp + local LAST_ERR=/tmp/tmp.Kb6Sd3pujx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FmYk7qBeHA + cat /tmp/tmp.Kb6Sd3pujx + rm /tmp/tmp.FmYk7qBeHA /tmp/tmp.Kb6Sd3pujx + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.ILR77pXhmL ++ mktemp + local LAST_ERR=/tmp/tmp.DND0ZzXNPp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ILR77pXhmL + cat /tmp/tmp.DND0ZzXNPp + rm /tmp/tmp.ILR77pXhmL /tmp/tmp.DND0ZzXNPp + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.IuEoLlBHIB ++ mktemp + local LAST_ERR=/tmp/tmp.AZaSumE5TO + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IuEoLlBHIB + cat /tmp/tmp.AZaSumE5TO + rm /tmp/tmp.IuEoLlBHIB /tmp/tmp.AZaSumE5TO + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.fsnxmetO0M ++ mktemp + local LAST_ERR=/tmp/tmp.lkWSZndouT + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fsnxmetO0M clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.lkWSZndouT + rm /tmp/tmp.fsnxmetO0M /tmp/tmp.lkWSZndouT + return 0 + check_crd_for_deletion PR-2266-f9fc55604 + local git_tag=PR-2266-f9fc55604 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2266-f9fc55604/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Xp4wYJsgCw +++ mktemp ++ local LAST_ERR=/tmp/tmp.w5soSm7Yd9 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xp4wYJsgCw ++ cat /tmp/tmp.w5soSm7Yd9 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xp4wYJsgCw ++ cat /tmp/tmp.w5soSm7Yd9 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xp4wYJsgCw ++ cat /tmp/tmp.w5soSm7Yd9 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.Xp4wYJsgCw ++ cat /tmp/tmp.w5soSm7Yd9 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.Xp4wYJsgCw /tmp/tmp.w5soSm7Yd9 ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.RAqNMsobp2 ++ mktemp + local LAST_OUT=/tmp/tmp.EKIr8pGFfP ++ mktemp + local LAST_ERR=/tmp/tmp.1o1jHhe0vm + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.UligNTpnEp + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RAqNMsobp2 + cat /tmp/tmp.1o1jHhe0vm + rm /tmp/tmp.RAqNMsobp2 /tmp/tmp.1o1jHhe0vm + return 0 namespace "cert-manager" deleted namespace "service-per-pod-21357" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.EKIr8pGFfP namespace "psmdb-operator" deleted + cat /tmp/tmp.UligNTpnEp + rm /tmp/tmp.EKIr8pGFfP /tmp/tmp.UligNTpnEp + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.fyV8mASHfG ++ mktemp + local LAST_ERR=/tmp/tmp.1zsmurwYAx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fyV8mASHfG + cat /tmp/tmp.1zsmurwYAx + rm /tmp/tmp.fyV8mASHfG /tmp/tmp.1zsmurwYAx + return 0 + desc 'create namespace psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- create namespace psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin create namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.HPZPj4RWfZ ++ mktemp + local LAST_ERR=/tmp/tmp.fcr1GpFlNi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HPZPj4RWfZ namespace/psmdb-operator created + cat /tmp/tmp.fcr1GpFlNi + rm /tmp/tmp.HPZPj4RWfZ /tmp/tmp.fcr1GpFlNi + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.tS1f1bfM7L +++ mktemp ++ local LAST_ERR=/tmp/tmp.YIY7LLsBif ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.tS1f1bfM7L ++ cat /tmp/tmp.YIY7LLsBif ++ rm /tmp/tmp.tS1f1bfM7L /tmp/tmp.YIY7LLsBif ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.xEgAsTMODC ++ mktemp + local LAST_ERR=/tmp/tmp.McY5aXNC3t + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xEgAsTMODC Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8" modified. + cat /tmp/tmp.McY5aXNC3t + rm /tmp/tmp.xEgAsTMODC /tmp/tmp.McY5aXNC3t + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.ZG0aAFL8XL ++ mktemp + local LAST_ERR=/tmp/tmp.l38plc1svf + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZG0aAFL8XL customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.l38plc1svf + rm /tmp/tmp.ZG0aAFL8XL /tmp/tmp.l38plc1svf + return 0 + '[' -n psmdb-operator ']' + apply_rbac cw-rbac + local operator_namespace=psmdb-operator + local rbac=cw-rbac + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.ZezrhO1emS ++ mktemp + local LAST_ERR=/tmp/tmp.x1sWIAfbx5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZezrhO1emS clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.x1sWIAfbx5 + rm /tmp/tmp.ZezrhO1emS /tmp/tmp.x1sWIAfbx5 + return 0 + yq eval ' (.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.m0XiZQciZ1 ++ mktemp + local LAST_ERR=/tmp/tmp.6fCgpStYaD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.m0XiZQciZ1 deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.6fCgpStYaD + rm /tmp/tmp.m0XiZQciZ1 /tmp/tmp.6fCgpStYaD + return 0 + sleep 20 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.Nbb595LOVV +++ mktemp ++ local LAST_ERR=/tmp/tmp.9AJ5Ek5xz8 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Nbb595LOVV ++ cat /tmp/tmp.9AJ5Ek5xz8 ++ rm /tmp/tmp.Nbb595LOVV /tmp/tmp.9AJ5Ek5xz8 ++ return 0 + wait_operator_pod percona-server-mongodb-operator-5554c4df68-gwplf + local pod=percona-server-mongodb-operator-5554c4df68-gwplf + set +o xtrace waiting for pod/percona-server-mongodb-operator-5554c4df68-gwplf to be ready.OK + echo 'Print operator info from log' Print operator info from log + grep 'Manager starting up' ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.olJxE8ijag +++ mktemp ++ local LAST_ERR=/tmp/tmp.ru0YbtDMWl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.olJxE8ijag ++ cat /tmp/tmp.ru0YbtDMWl ++ rm /tmp/tmp.olJxE8ijag /tmp/tmp.ru0YbtDMWl ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-5554c4df68-gwplf ++ mktemp + local LAST_OUT=/tmp/tmp.OWV0uhytkk ++ mktemp + local LAST_ERR=/tmp/tmp.KysAm1rLpH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-5554c4df68-gwplf + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OWV0uhytkk + cat /tmp/tmp.KysAm1rLpH + rm /tmp/tmp.OWV0uhytkk /tmp/tmp.KysAm1rLpH + return 0 2026-03-10T08:15:07.786Z INFO setup Manager starting up {"gitCommit": "f9fc5560468cd2df79998ec06ba830d1104a31a3", "gitBranch": "PR-2266-f9fc55604", "buildTime": "", "goVersion": "go1.25.8", "os": "linux", "arch": "amd64"} + create_namespace service-per-pod-15653 + local namespace=service-per-pod-15653 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces service-per-pod-15653' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces service-per-pod-15653 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace service-per-pod-15653 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.obXERln600 ++ mktemp + local LAST_OUT=/tmp/tmp.iWw8jdvE5D + local LAST_ERR=/tmp/tmp.mU1U8RPzUl + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_ERR=/tmp/tmp.pCr11p8GJ0 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace service-per-pod-15653 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.obXERln600 + cat /tmp/tmp.mU1U8RPzUl + rm /tmp/tmp.obXERln600 /tmp/tmp.mU1U8RPzUl + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.iWw8jdvE5D + cat /tmp/tmp.pCr11p8GJ0 + rm /tmp/tmp.iWw8jdvE5D /tmp/tmp.pCr11p8GJ0 + return 0 + kubectl_bin wait --for=delete namespace service-per-pod-15653 ++ mktemp + local LAST_OUT=/tmp/tmp.ZaISrIMDcx ++ mktemp + local LAST_ERR=/tmp/tmp.4Dr8Ngj99I + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace service-per-pod-15653 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZaISrIMDcx + cat /tmp/tmp.4Dr8Ngj99I + rm /tmp/tmp.ZaISrIMDcx /tmp/tmp.4Dr8Ngj99I + return 0 + desc 'create namespace service-per-pod-15653' + set +o xtrace ----------------------------------------------------------------------------------- create namespace service-per-pod-15653 ----------------------------------------------------------------------------------- + kubectl_bin create namespace service-per-pod-15653 ++ mktemp + local LAST_OUT=/tmp/tmp.MsK232XKEm ++ mktemp + local LAST_ERR=/tmp/tmp.sIKqLGX60M + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace service-per-pod-15653 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MsK232XKEm namespace/service-per-pod-15653 created + cat /tmp/tmp.sIKqLGX60M + rm /tmp/tmp.MsK232XKEm /tmp/tmp.sIKqLGX60M + return 0 + set_kube_ctx service-per-pod-15653 + local namespace=service-per-pod-15653 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.dCzqhGxX9I +++ mktemp ++ local LAST_ERR=/tmp/tmp.HuAO8vWG69 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dCzqhGxX9I ++ cat /tmp/tmp.HuAO8vWG69 ++ rm /tmp/tmp.dCzqhGxX9I /tmp/tmp.HuAO8vWG69 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8 --namespace=service-per-pod-15653 ++ mktemp + local LAST_OUT=/tmp/tmp.k2rhju0S24 ++ mktemp + local LAST_ERR=/tmp/tmp.nfZowhX3YC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8 --namespace=service-per-pod-15653 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.k2rhju0S24 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2266-f9fc55604-9-cluster8" modified. + cat /tmp/tmp.nfZowhX3YC + rm /tmp/tmp.k2rhju0S24 /tmp/tmp.nfZowhX3YC + return 0 + deploy_cert_manager + desc 'deploy cert manager' + set +o xtrace ----------------------------------------------------------------------------------- deploy cert manager ----------------------------------------------------------------------------------- + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.XUJUiiin4U ++ mktemp + local LAST_ERR=/tmp/tmp.SkvvNVJe1D + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace cert-manager + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XUJUiiin4U namespace/cert-manager created + cat /tmp/tmp.SkvvNVJe1D + rm /tmp/tmp.XUJUiiin4U /tmp/tmp.SkvvNVJe1D + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.Ti9KufxKMs ++ mktemp + local LAST_ERR=/tmp/tmp.OdmnMh2Oba + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ti9KufxKMs namespace/cert-manager labeled + cat /tmp/tmp.OdmnMh2Oba + rm /tmp/tmp.Ti9KufxKMs /tmp/tmp.OdmnMh2Oba + return 0 + kubectl_bin apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false ++ mktemp + local LAST_OUT=/tmp/tmp.4HfiFcTAi4 ++ mktemp + local LAST_ERR=/tmp/tmp.bYWUOkTNLe + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.4HfiFcTAi4 namespace/cert-manager configured customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io unchanged serviceaccount/cert-manager-cainjector created serviceaccount/cert-manager created serviceaccount/cert-manager-webhook created clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-edit unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager-tokenrequest created role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager-tokenrequest created rolebinding.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created service/cert-manager-cainjector created service/cert-manager created service/cert-manager-webhook created deployment.apps/cert-manager-cainjector created deployment.apps/cert-manager created deployment.apps/cert-manager-webhook created mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured + cat /tmp/tmp.bYWUOkTNLe Warning: resource namespaces/cert-manager is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. + rm /tmp/tmp.4HfiFcTAi4 /tmp/tmp.bYWUOkTNLe + return 0 + kubectl_bin -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready ++ mktemp + local LAST_OUT=/tmp/tmp.07DwFgfSCr ++ mktemp + local LAST_ERR=/tmp/tmp.4csG3SDdvo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.07DwFgfSCr pod/cert-manager-559d798845-7whrs condition met pod/cert-manager-cainjector-64958d9c7c-mgcbc condition met pod/cert-manager-webhook-7fb6f99b56-k8czc condition met + cat /tmp/tmp.4csG3SDdvo + rm /tmp/tmp.07DwFgfSCr /tmp/tmp.4csG3SDdvo + return 0 + sleep 120 + desc 'create secrets and start client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and start client ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/conf/secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.BaoimpTEoP ++ mktemp + local LAST_ERR=/tmp/tmp.Xmbw0S03RK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/conf/secrets.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BaoimpTEoP deployment.apps/psmdb-client created secret/some-users created + cat /tmp/tmp.Xmbw0S03RK + rm /tmp/tmp.BaoimpTEoP /tmp/tmp.Xmbw0S03RK + return 0 + desc 'check ClusterIP' + set +o xtrace ----------------------------------------------------------------------------------- check ClusterIP ----------------------------------------------------------------------------------- + check_cr_config cluster-ip-rs0 + local cluster=cluster-ip-rs0 + desc 'create PSMDB cluster cluster-ip-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster cluster-ip-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/cluster-ip-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/cluster-ip-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/cluster-ip-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/service-per-pod-15653/g + local LAST_OUT=/tmp/tmp.479uk0EL6y + yq eval '.spec.upgradeOptions.apply="Never"' ++ mktemp + local LAST_ERR=/tmp/tmp.L6CwxgCzWt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.479uk0EL6y perconaservermongodb.psmdb.percona.com/cluster-ip created + cat /tmp/tmp.L6CwxgCzWt + rm /tmp/tmp.479uk0EL6y /tmp/tmp.L6CwxgCzWt + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running cluster-ip-rs0 3 false + local name=cluster-ip-rs0 + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=cluster-ip ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod cluster-ip-rs0-0 + local pod=cluster-ip-rs0-0 + set +o xtrace waiting for pod/cluster-ip-rs0-0 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod cluster-ip-rs0-1 + local pod=cluster-ip-rs0-1 + set +o xtrace waiting for pod/cluster-ip-rs0-1 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.W4Lj5x2vAw +++ mktemp ++ local LAST_ERR=/tmp/tmp.J9ekiSjVFc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.W4Lj5x2vAw ++ cat /tmp/tmp.J9ekiSjVFc ++ rm /tmp/tmp.W4Lj5x2vAw /tmp/tmp.J9ekiSjVFc ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod cluster-ip-rs0-2 + local pod=cluster-ip-rs0-2 + set +o xtrace waiting for pod/cluster-ip-rs0-2 to be ready.............OK ++ kubectl_bin get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.o4bB3SyS74 +++ mktemp ++ local LAST_ERR=/tmp/tmp.1b1Q6BxOUp ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.o4bB3SyS74 ++ cat /tmp/tmp.1b1Q6BxOUp ++ rm /tmp/tmp.o4bB3SyS74 /tmp/tmp.1b1Q6BxOUp ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.GBLC3xfeup +++ mktemp ++ local LAST_ERR=/tmp/tmp.W2t2jEe76P ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb cluster-ip -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.GBLC3xfeup ++ cat /tmp/tmp.W2t2jEe76P ++ rm /tmp/tmp.GBLC3xfeup /tmp/tmp.W2t2jEe76P ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + desc 'check if service and statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service and statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/cluster-ip-rs0 + local resource=statefulset/cluster-ip-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_cluster-ip-rs0.yml + local new_result=/tmp/tmp.CSIFgSigtT/statefulset_cluster-ip-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_cluster-ip-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/cluster-ip-rs0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.WaKdl1MwfO ++ mktemp + local LAST_ERR=/tmp/tmp.cKFl4h0RqM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/cluster-ip-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WaKdl1MwfO + cat /tmp/tmp.cKFl4h0RqM + rm /tmp/tmp.WaKdl1MwfO /tmp/tmp.cKFl4h0RqM + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_cluster-ip-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_cluster-ip-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/statefulset_cluster-ip-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_cluster-ip-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_cluster-ip-rs0.yml /tmp/tmp.CSIFgSigtT/statefulset_cluster-ip-rs0.yml + log 'compare_kubectl: statefulset/cluster-ip-rs0 OK' + set +o xtrace [2026-03-10T08:19:51+0000] compare_kubectl: statefulset/cluster-ip-rs0 OK + compare_kubectl service/cluster-ip-rs0-0 + local resource=service/cluster-ip-rs0-0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml + local new_result=/tmp/tmp.CSIFgSigtT/service_cluster-ip-rs0-0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0-oc.yml ']' + kubectl_bin get -o yaml service/cluster-ip-rs0-0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.fWDG2sz2Mg ++ mktemp + local LAST_ERR=/tmp/tmp.oBnGC0diom + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml service/cluster-ip-rs0-0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fWDG2sz2Mg + cat /tmp/tmp.oBnGC0diom + rm /tmp/tmp.fWDG2sz2Mg /tmp/tmp.oBnGC0diom + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/service_cluster-ip-rs0-0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/service_cluster-ip-rs0-0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/service_cluster-ip-rs0-0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_cluster-ip-rs0-0.yml /tmp/tmp.CSIFgSigtT/service_cluster-ip-rs0-0.yml + log 'compare_kubectl: service/cluster-ip-rs0-0 OK' + set +o xtrace [2026-03-10T08:19:52+0000] compare_kubectl: service/cluster-ip-rs0-0 OK ++ get_service_ip cluster-ip-rs0-0 ++ local service=cluster-ip-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.i0OqPhppZe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.zAN19t2k5u +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.i0OqPhppZe +++ cat /tmp/tmp.zAN19t2k5u +++ rm /tmp/tmp.i0OqPhppZe /tmp/tmp.zAN19t2k5u +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.8lFpFX6ldL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.H1yswkadwt +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.8lFpFX6ldL +++ cat /tmp/tmp.H1yswkadwt +++ rm /tmp/tmp.8lFpFX6ldL /tmp/tmp.H1yswkadwt +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cBZX1SUtD0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.nGHbbr7dBd ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.cBZX1SUtD0 ++ cat /tmp/tmp.nGHbbr7dBd ++ rm /tmp/tmp.cBZX1SUtD0 /tmp/tmp.nGHbbr7dBd ++ return 0 ++ return ++ get_service_ip cluster-ip-rs0-1 ++ local service=cluster-ip-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.BGMWbx0uIe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.x6tFSFiyEg +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.BGMWbx0uIe +++ cat /tmp/tmp.x6tFSFiyEg +++ rm /tmp/tmp.BGMWbx0uIe /tmp/tmp.x6tFSFiyEg +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Zyx59w4Zkp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.400p55i362 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Zyx59w4Zkp +++ cat /tmp/tmp.400p55i362 +++ rm /tmp/tmp.Zyx59w4Zkp /tmp/tmp.400p55i362 +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TI3XG4e04V +++ mktemp ++ local LAST_ERR=/tmp/tmp.tR24UtJmcQ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TI3XG4e04V ++ cat /tmp/tmp.tR24UtJmcQ ++ rm /tmp/tmp.TI3XG4e04V /tmp/tmp.tR24UtJmcQ ++ return 0 ++ return ++ get_service_ip cluster-ip-rs0-2 ++ local service=cluster-ip-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ODThG90xku ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XTEyaN0cDl +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ODThG90xku +++ cat /tmp/tmp.XTEyaN0cDl +++ rm /tmp/tmp.ODThG90xku /tmp/tmp.XTEyaN0cDl +++ return 0 ++ '[' true '!=' true ']' ++ grep -q NotFound ++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' +++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.9HEW2lCWtw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.AH0Lr984ax +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.9HEW2lCWtw +++ cat /tmp/tmp.AH0Lr984ax +++ rm /tmp/tmp.9HEW2lCWtw /tmp/tmp.AH0Lr984ax +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.KtMTMrhFYh +++ mktemp ++ local LAST_ERR=/tmp/tmp.89yOtrdPm2 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KtMTMrhFYh ++ cat /tmp/tmp.89yOtrdPm2 ++ rm /tmp/tmp.KtMTMrhFYh /tmp/tmp.89yOtrdPm2 ++ return 0 ++ return + local URI=34.118.225.9,34.118.235.3,34.118.229.184 + sleep 30 + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@34.118.225.9,34.118.235.3,34.118.229.184 mongodb :27017 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@34.118.225.9,34.118.235.3,34.118.229.184 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@34.118.225.9,34.118.235.3,34.118.229.184 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9pV0YPj74K +++ mktemp ++ local LAST_ERR=/tmp/tmp.vTRmUt9miS ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9pV0YPj74K ++ cat /tmp/tmp.vTRmUt9miS ++ rm /tmp/tmp.9pV0YPj74K /tmp/tmp.vTRmUt9miS ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.118.225.9,34.118.235.3,34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.c33nf6kjQZ ++ mktemp + local LAST_ERR=/tmp/tmp.31iihq6mBu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.118.225.9,34.118.235.3,34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.c33nf6kjQZ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.118.225.9:27017,34.118.235.3:27017,34.118.229.184:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("9d8f594c-3623-4546-a26c-ee973c2a1d39") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.31iihq6mBu + rm /tmp/tmp.c33nf6kjQZ /tmp/tmp.31iihq6mBu + return 0 + sleep 10 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@34.118.225.9,34.118.235.3,34.118.229.184 mongodb :27017 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@34.118.225.9,34.118.235.3,34.118.229.184 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.225.9,34.118.235.3,34.118.229.184 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xIfHNFXTWc +++ mktemp ++ local LAST_ERR=/tmp/tmp.tDZxKladTx ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xIfHNFXTWc ++ cat /tmp/tmp.tDZxKladTx ++ rm /tmp/tmp.xIfHNFXTWc /tmp/tmp.tDZxKladTx ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.118.225.9,34.118.235.3,34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.EAn3PpFc1a ++ mktemp + local LAST_ERR=/tmp/tmp.4ae1Rs2tG7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.118.225.9,34.118.235.3,34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.EAn3PpFc1a Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.118.225.9:27017,34.118.235.3:27017,34.118.229.184:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("1045a1bb-bc47-4285-b4e1-5d96d188cdca") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.4ae1Rs2tG7 + rm /tmp/tmp.EAn3PpFc1a /tmp/tmp.4ae1Rs2tG7 + return 0 + sleep 30 ++ get_service_ip cluster-ip-rs0-0 ++ local service=cluster-ip-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.v0Yxkc75Ts ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5geA8etiZd +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.v0Yxkc75Ts +++ cat /tmp/tmp.5geA8etiZd +++ rm /tmp/tmp.v0Yxkc75Ts /tmp/tmp.5geA8etiZd +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.SBohvMxskf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.f91pdgbhYw +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.SBohvMxskf +++ cat /tmp/tmp.f91pdgbhYw +++ rm /tmp/tmp.SBohvMxskf /tmp/tmp.f91pdgbhYw +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JJwSDPDa9j +++ mktemp ++ local LAST_ERR=/tmp/tmp.jz9CtmMr8K ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-0 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JJwSDPDa9j ++ cat /tmp/tmp.jz9CtmMr8K ++ rm /tmp/tmp.JJwSDPDa9j /tmp/tmp.jz9CtmMr8K ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.225.9 '' :27017 + local command=find + local uri=myApp:myPass@34.118.225.9 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:21:23+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.225.9 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.118.225.9 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.225.9 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HMC4uqDWRz +++ mktemp ++ local LAST_ERR=/tmp/tmp.CM0pqkTq31 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HMC4uqDWRz ++ cat /tmp/tmp.CM0pqkTq31 ++ rm /tmp/tmp.HMC4uqDWRz /tmp/tmp.CM0pqkTq31 ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.225.9:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.TNEWc5YEg3 ++ mktemp + local LAST_ERR=/tmp/tmp.WcVRj4DPpf + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.225.9:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TNEWc5YEg3 + cat /tmp/tmp.WcVRj4DPpf + rm /tmp/tmp.TNEWc5YEg3 /tmp/tmp.WcVRj4DPpf + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip cluster-ip-rs0-1 ++ local service=cluster-ip-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ulWBYEG1Kx ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lnDdA9x8gc +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ulWBYEG1Kx +++ cat /tmp/tmp.lnDdA9x8gc +++ rm /tmp/tmp.ulWBYEG1Kx /tmp/tmp.lnDdA9x8gc +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.4UnxcHzJtx ++++ mktemp +++ local LAST_ERR=/tmp/tmp.34HXsAOcFT +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.4UnxcHzJtx +++ cat /tmp/tmp.34HXsAOcFT +++ rm /tmp/tmp.4UnxcHzJtx /tmp/tmp.34HXsAOcFT +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.da3d2Dx9c6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.qM4aaVChpC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-1 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.da3d2Dx9c6 ++ cat /tmp/tmp.qM4aaVChpC ++ rm /tmp/tmp.da3d2Dx9c6 /tmp/tmp.qM4aaVChpC ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.235.3 '' :27017 + local command=find + local uri=myApp:myPass@34.118.235.3 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:21:29+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.235.3 mongodb :27017 '' + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local 'command=use myApp\n db.test.find()' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + local uri=myApp:myPass@34.118.235.3 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.235.3 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4nLob3xsKT +++ mktemp ++ local LAST_ERR=/tmp/tmp.ARi2TwroJS ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4nLob3xsKT ++ cat /tmp/tmp.ARi2TwroJS ++ rm /tmp/tmp.4nLob3xsKT /tmp/tmp.ARi2TwroJS ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.235.3:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.Shvm3WcFsw ++ mktemp + local LAST_ERR=/tmp/tmp.b9knPcSjKP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.235.3:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Shvm3WcFsw + cat /tmp/tmp.b9knPcSjKP + rm /tmp/tmp.Shvm3WcFsw /tmp/tmp.b9knPcSjKP + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip cluster-ip-rs0-2 ++ local service=cluster-ip-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.x7MPU3x4j8 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.0Fxv5vNqc7 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/cluster-ip -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.x7MPU3x4j8 +++ cat /tmp/tmp.0Fxv5vNqc7 +++ rm /tmp/tmp.x7MPU3x4j8 /tmp/tmp.0Fxv5vNqc7 +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.caIccIcEzA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VMtVprx4nN +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.caIccIcEzA +++ cat /tmp/tmp.VMtVprx4nN +++ rm /tmp/tmp.caIccIcEzA /tmp/tmp.VMtVprx4nN +++ return 0 ++ service_type=ClusterIP ++ '[' ClusterIP = ClusterIP ']' ++ kubectl_bin get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.DuCgGdhZTF +++ mktemp ++ local LAST_ERR=/tmp/tmp.qlQaWYiQ8A ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/cluster-ip-rs0-2 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.DuCgGdhZTF ++ cat /tmp/tmp.qlQaWYiQ8A ++ rm /tmp/tmp.DuCgGdhZTF /tmp/tmp.qlQaWYiQ8A ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.229.184 '' :27017 + local command=find + local uri=myApp:myPass@34.118.229.184 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:21:36+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.229.184 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.118.229.184 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local replica_set=rs0 + [[ myApp:myPass@34.118.229.184 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.odSP6ZoEVK +++ mktemp ++ local LAST_ERR=/tmp/tmp.rmAUDA9TvI ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.odSP6ZoEVK ++ cat /tmp/tmp.rmAUDA9TvI ++ rm /tmp/tmp.odSP6ZoEVK /tmp/tmp.rmAUDA9TvI ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.zRipuXRIA0 ++ mktemp + local LAST_ERR=/tmp/tmp.aIJU6ujI95 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.229.184:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zRipuXRIA0 + cat /tmp/tmp.aIJU6ujI95 + rm /tmp/tmp.zRipuXRIA0 /tmp/tmp.aIJU6ujI95 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find + [[ cluster-ip-rs0 == \n\o\d\e\-\p\o\r\t\-\r\s\0 ]] + desc 'delete PSMDB cluster cluster-ip-rs0' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster cluster-ip-rs0 ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/cluster-ip-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.5D2HOwwMG8 ++ mktemp + local LAST_ERR=/tmp/tmp.kHNxToVXtm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/cluster-ip-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5D2HOwwMG8 perconaservermongodb.psmdb.percona.com "cluster-ip" deleted from service-per-pod-15653 namespace + cat /tmp/tmp.kHNxToVXtm + rm /tmp/tmp.5D2HOwwMG8 /tmp/tmp.kHNxToVXtm + return 0 + desc 'check LoadBalancer' + set +o xtrace ----------------------------------------------------------------------------------- check LoadBalancer ----------------------------------------------------------------------------------- + check_cr_config local-balancer-rs0 + local cluster=local-balancer-rs0 + desc 'create PSMDB cluster local-balancer-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster local-balancer-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/local-balancer-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/local-balancer-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/local-balancer-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_OUT=/tmp/tmp.hD4g7HJZHC ++ mktemp + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/service-per-pod-15653/g + local LAST_ERR=/tmp/tmp.yJ1lYB1D2r + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hD4g7HJZHC perconaservermongodb.psmdb.percona.com/local-balancer created + cat /tmp/tmp.yJ1lYB1D2r + rm /tmp/tmp.hD4g7HJZHC /tmp/tmp.yJ1lYB1D2r + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running local-balancer-rs0 3 false + local name=local-balancer-rs0 + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=local-balancer ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod local-balancer-rs0-0 + local pod=local-balancer-rs0-0 + set +o xtrace waiting for pod/local-balancer-rs0-0 to be ready........OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod local-balancer-rs0-1 + local pod=local-balancer-rs0-1 + set +o xtrace waiting for pod/local-balancer-rs0-1 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hzxQhaxLL1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.2oC7LP2aJW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hzxQhaxLL1 ++ cat /tmp/tmp.2oC7LP2aJW ++ rm /tmp/tmp.hzxQhaxLL1 /tmp/tmp.2oC7LP2aJW ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod local-balancer-rs0-2 + local pod=local-balancer-rs0-2 + set +o xtrace waiting for pod/local-balancer-rs0-2 to be ready....OK ++ kubectl_bin get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wxXTnvQ0Gi +++ mktemp ++ local LAST_ERR=/tmp/tmp.v4o5zHcMeZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.wxXTnvQ0Gi ++ cat /tmp/tmp.v4o5zHcMeZ ++ rm /tmp/tmp.wxXTnvQ0Gi /tmp/tmp.v4o5zHcMeZ ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qgu2qpGzBv +++ mktemp ++ local LAST_ERR=/tmp/tmp.cEOSPdcq9Y ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb local-balancer -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qgu2qpGzBv ++ cat /tmp/tmp.cEOSPdcq9Y ++ rm /tmp/tmp.qgu2qpGzBv /tmp/tmp.cEOSPdcq9Y ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + desc 'check if service and statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service and statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/local-balancer-rs0 + local resource=statefulset/local-balancer-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_local-balancer-rs0.yml + local new_result=/tmp/tmp.CSIFgSigtT/statefulset_local-balancer-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_local-balancer-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/local-balancer-rs0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.CrFaXEU91I ++ mktemp + local LAST_ERR=/tmp/tmp.AIbzMDanL4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/local-balancer-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CrFaXEU91I + cat /tmp/tmp.AIbzMDanL4 + rm /tmp/tmp.CrFaXEU91I /tmp/tmp.AIbzMDanL4 + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_local-balancer-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_local-balancer-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/statefulset_local-balancer-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_local-balancer-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_local-balancer-rs0.yml /tmp/tmp.CSIFgSigtT/statefulset_local-balancer-rs0.yml + log 'compare_kubectl: statefulset/local-balancer-rs0 OK' + set +o xtrace [2026-03-10T08:23:07+0000] compare_kubectl: statefulset/local-balancer-rs0 OK + compare_kubectl service/local-balancer-rs0-0 + local resource=service/local-balancer-rs0-0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml + local new_result=/tmp/tmp.CSIFgSigtT/service_local-balancer-rs0-0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0-oc.yml ']' + kubectl_bin get -o yaml service/local-balancer-rs0-0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.abewsNTWre ++ mktemp + local LAST_ERR=/tmp/tmp.KCZPyEs8ug + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml service/local-balancer-rs0-0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.abewsNTWre + cat /tmp/tmp.KCZPyEs8ug + rm /tmp/tmp.abewsNTWre /tmp/tmp.KCZPyEs8ug + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/service_local-balancer-rs0-0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/service_local-balancer-rs0-0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/service_local-balancer-rs0-0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_local-balancer-rs0-0.yml /tmp/tmp.CSIFgSigtT/service_local-balancer-rs0-0.yml + log 'compare_kubectl: service/local-balancer-rs0-0 OK' + set +o xtrace [2026-03-10T08:23:08+0000] compare_kubectl: service/local-balancer-rs0-0 OK ++ get_service_ip local-balancer-rs0-0 ++ local service=local-balancer-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.XVUxAElig0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.qclZPxK0vM +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.XVUxAElig0 +++ cat /tmp/tmp.qclZPxK0vM +++ rm /tmp/tmp.XVUxAElig0 /tmp/tmp.qclZPxK0vM +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.QbbolqiqOC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.knDcqEFa9n +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.QbbolqiqOC +++ cat /tmp/tmp.knDcqEFa9n +++ rm /tmp/tmp.QbbolqiqOC /tmp/tmp.knDcqEFa9n +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YlVbOnDg1v +++ mktemp ++ local LAST_ERR=/tmp/tmp.irJAu4pL91 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YlVbOnDg1v ++ cat /tmp/tmp.irJAu4pL91 ++ rm /tmp/tmp.YlVbOnDg1v /tmp/tmp.irJAu4pL91 ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3KujPMgeLW +++ mktemp ++ local LAST_ERR=/tmp/tmp.H8Z7P4QaNm ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.3KujPMgeLW ++ cat /tmp/tmp.H8Z7P4QaNm ++ rm /tmp/tmp.3KujPMgeLW /tmp/tmp.H8Z7P4QaNm ++ return 0 ++ get_service_ip local-balancer-rs0-1 ++ local service=local-balancer-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.C3Ls2UuEsJ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Z6zSMdC70y +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.C3Ls2UuEsJ +++ cat /tmp/tmp.Z6zSMdC70y +++ rm /tmp/tmp.C3Ls2UuEsJ /tmp/tmp.Z6zSMdC70y +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.qyhASB7MUm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.eGk3jo7Er0 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.qyhASB7MUm +++ cat /tmp/tmp.eGk3jo7Er0 +++ rm /tmp/tmp.qyhASB7MUm /tmp/tmp.eGk3jo7Er0 +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xKoN9u0yzu +++ mktemp ++ local LAST_ERR=/tmp/tmp.ySeXshbQAh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xKoN9u0yzu ++ cat /tmp/tmp.ySeXshbQAh ++ rm /tmp/tmp.xKoN9u0yzu /tmp/tmp.ySeXshbQAh ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Wv40j8jXgO +++ mktemp ++ local LAST_ERR=/tmp/tmp.fDCHrObZmO ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Wv40j8jXgO ++ cat /tmp/tmp.fDCHrObZmO ++ rm /tmp/tmp.Wv40j8jXgO /tmp/tmp.fDCHrObZmO ++ return 0 ++ get_service_ip local-balancer-rs0-2 ++ local service=local-balancer-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.dr502IhSWf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.38x9N2ot1P +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.dr502IhSWf +++ cat /tmp/tmp.38x9N2ot1P +++ rm /tmp/tmp.dr502IhSWf /tmp/tmp.38x9N2ot1P +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.p1EhISdrlg ++++ mktemp +++ local LAST_ERR=/tmp/tmp.SbBc7jETWV +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.p1EhISdrlg +++ cat /tmp/tmp.SbBc7jETWV +++ rm /tmp/tmp.p1EhISdrlg /tmp/tmp.SbBc7jETWV +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ sleep 1 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ sleep 1 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ sleep 1 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ sleep 1 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ sleep 1 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.713B4ZvlAq +++ mktemp ++ local LAST_ERR=/tmp/tmp.UuZuSIO2Ds ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.713B4ZvlAq ++ cat /tmp/tmp.UuZuSIO2Ds ++ rm /tmp/tmp.713B4ZvlAq /tmp/tmp.UuZuSIO2Ds ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UNsJDBDt51 +++ mktemp ++ local LAST_ERR=/tmp/tmp.OYWbg8Npmg ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.UNsJDBDt51 ++ cat /tmp/tmp.OYWbg8Npmg ++ rm /tmp/tmp.UNsJDBDt51 /tmp/tmp.OYWbg8Npmg ++ return 0 + local URI=34.132.203.228,34.9.73.253,34.28.168.56 + sleep 30 + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@34.132.203.228,34.9.73.253,34.28.168.56 mongodb :27017 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@34.132.203.228,34.9.73.253,34.28.168.56 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@34.132.203.228,34.9.73.253,34.28.168.56 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.W8WP8160q5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Jyp6qjF9FA ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.W8WP8160q5 ++ cat /tmp/tmp.Jyp6qjF9FA ++ rm /tmp/tmp.W8WP8160q5 /tmp/tmp.Jyp6qjF9FA ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.132.203.228,34.9.73.253,34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.fu9O1BpB0n ++ mktemp + local LAST_ERR=/tmp/tmp.dUKZ7zqA20 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.132.203.228,34.9.73.253,34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fu9O1BpB0n Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.132.203.228:27017,34.9.73.253:27017,34.28.168.56:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("dc31c48e-712f-4de1-bc4e-daf8747fd02a") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.dUKZ7zqA20 + rm /tmp/tmp.fu9O1BpB0n /tmp/tmp.dUKZ7zqA20 + return 0 + sleep 10 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@34.132.203.228,34.9.73.253,34.28.168.56 mongodb :27017 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@34.132.203.228,34.9.73.253,34.28.168.56 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.132.203.228,34.9.73.253,34.28.168.56 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4H9wFozYOG +++ mktemp ++ local LAST_ERR=/tmp/tmp.BUnLG6BMOj ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4H9wFozYOG ++ cat /tmp/tmp.BUnLG6BMOj ++ rm /tmp/tmp.4H9wFozYOG /tmp/tmp.BUnLG6BMOj ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.132.203.228,34.9.73.253,34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.O94FF3kROP ++ mktemp + local LAST_ERR=/tmp/tmp.CtH8liadrP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.132.203.228,34.9.73.253,34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.O94FF3kROP Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.132.203.228:27017,34.9.73.253:27017,34.28.168.56:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("a7c83c13-c476-455b-a5df-89d5fe8c2f2a") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.CtH8liadrP + rm /tmp/tmp.O94FF3kROP /tmp/tmp.CtH8liadrP + return 0 + sleep 30 ++ get_service_ip local-balancer-rs0-0 ++ local service=local-balancer-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.2SP0gKVCxj ++++ mktemp +++ local LAST_ERR=/tmp/tmp.khVkYnxiHM +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.2SP0gKVCxj +++ cat /tmp/tmp.khVkYnxiHM +++ rm /tmp/tmp.2SP0gKVCxj /tmp/tmp.khVkYnxiHM +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.gJo1lmtOAe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.WHd2p606Xp +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.gJo1lmtOAe +++ cat /tmp/tmp.WHd2p606Xp +++ rm /tmp/tmp.gJo1lmtOAe /tmp/tmp.WHd2p606Xp +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Uc8Ftrwssx +++ mktemp ++ local LAST_ERR=/tmp/tmp.xw2cwgk29h ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Uc8Ftrwssx ++ cat /tmp/tmp.xw2cwgk29h ++ rm /tmp/tmp.Uc8Ftrwssx /tmp/tmp.xw2cwgk29h ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aC5bzN67Lc +++ mktemp ++ local LAST_ERR=/tmp/tmp.Rl5JaDRh6b ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-0 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aC5bzN67Lc ++ cat /tmp/tmp.Rl5JaDRh6b ++ rm /tmp/tmp.aC5bzN67Lc /tmp/tmp.Rl5JaDRh6b ++ return 0 + compare_mongo_cmd find myApp:myPass@34.132.203.228 '' :27017 + local command=find + local uri=myApp:myPass@34.132.203.228 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:24:57+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.132.203.228 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + local uri=myApp:myPass@34.132.203.228 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.132.203.228 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PbH7MQn3BK +++ mktemp ++ local LAST_ERR=/tmp/tmp.fVQvWEshVZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PbH7MQn3BK ++ cat /tmp/tmp.fVQvWEshVZ ++ rm /tmp/tmp.PbH7MQn3BK /tmp/tmp.fVQvWEshVZ ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.132.203.228:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.vyYeOzod6b ++ mktemp + local LAST_ERR=/tmp/tmp.p18IYIExHi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.132.203.228:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vyYeOzod6b + cat /tmp/tmp.p18IYIExHi + rm /tmp/tmp.vyYeOzod6b /tmp/tmp.p18IYIExHi + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip local-balancer-rs0-1 ++ local service=local-balancer-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.iAYe1Ll95D ++++ mktemp +++ local LAST_ERR=/tmp/tmp.vqiQN7G8Bn +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.iAYe1Ll95D +++ cat /tmp/tmp.vqiQN7G8Bn +++ rm /tmp/tmp.iAYe1Ll95D /tmp/tmp.vqiQN7G8Bn +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.7Qsz2aEOie ++++ mktemp +++ local LAST_ERR=/tmp/tmp.TwnEw1c3bd +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.7Qsz2aEOie +++ cat /tmp/tmp.TwnEw1c3bd +++ rm /tmp/tmp.7Qsz2aEOie /tmp/tmp.TwnEw1c3bd +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZmbdyqYaVv +++ mktemp ++ local LAST_ERR=/tmp/tmp.5CrnkH3TuZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZmbdyqYaVv ++ cat /tmp/tmp.5CrnkH3TuZ ++ rm /tmp/tmp.ZmbdyqYaVv /tmp/tmp.5CrnkH3TuZ ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4ORRnyORpt +++ mktemp ++ local LAST_ERR=/tmp/tmp.PLUtBaCRip ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-1 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4ORRnyORpt ++ cat /tmp/tmp.PLUtBaCRip ++ rm /tmp/tmp.4ORRnyORpt /tmp/tmp.PLUtBaCRip ++ return 0 + compare_mongo_cmd find myApp:myPass@34.9.73.253 '' :27017 + local command=find + local uri=myApp:myPass@34.9.73.253 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:25:06+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.9.73.253 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.9.73.253 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.9.73.253 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UkU7HdPXok +++ mktemp ++ local LAST_ERR=/tmp/tmp.6MCDa6EHOl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.UkU7HdPXok ++ cat /tmp/tmp.6MCDa6EHOl ++ rm /tmp/tmp.UkU7HdPXok /tmp/tmp.6MCDa6EHOl ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.9.73.253:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.0A1EnOPnep ++ mktemp + local LAST_ERR=/tmp/tmp.2j5Zepqlbm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.9.73.253:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0A1EnOPnep + cat /tmp/tmp.2j5Zepqlbm + rm /tmp/tmp.0A1EnOPnep /tmp/tmp.2j5Zepqlbm + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip local-balancer-rs0-2 ++ local service=local-balancer-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.BNFhz9SLNC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aRSB52TpJ4 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/local-balancer -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.BNFhz9SLNC +++ cat /tmp/tmp.aRSB52TpJ4 +++ rm /tmp/tmp.BNFhz9SLNC /tmp/tmp.aRSB52TpJ4 +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.e3bLlOmGF6 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EP3Tj7mNMM +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.e3bLlOmGF6 +++ cat /tmp/tmp.EP3Tj7mNMM +++ rm /tmp/tmp.e3bLlOmGF6 /tmp/tmp.EP3Tj7mNMM +++ return 0 ++ service_type=LoadBalancer ++ '[' LoadBalancer = ClusterIP ']' ++ '[' LoadBalancer = NodePort ']' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[]}' ++ grep -E -q 'hostname|ip' ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AR0TCSoMyr +++ mktemp ++ local LAST_ERR=/tmp/tmp.n3xnJJuwUT ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].ip}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.AR0TCSoMyr ++ cat /tmp/tmp.n3xnJJuwUT ++ rm /tmp/tmp.AR0TCSoMyr /tmp/tmp.n3xnJJuwUT ++ return 0 ++ kubectl_bin get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.m2JZHFWMwm +++ mktemp ++ local LAST_ERR=/tmp/tmp.gwHrn5Sgfh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/local-balancer-rs0-2 -o 'jsonpath={.status.loadBalancer.ingress[].hostname}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.m2JZHFWMwm ++ cat /tmp/tmp.gwHrn5Sgfh ++ rm /tmp/tmp.m2JZHFWMwm /tmp/tmp.gwHrn5Sgfh ++ return 0 + compare_mongo_cmd find myApp:myPass@34.28.168.56 '' :27017 + local command=find + local uri=myApp:myPass@34.28.168.56 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:25:15+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.28.168.56 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.28.168.56 + local driver=mongodb + local suffix=:27017 + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.28.168.56 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.D6k1knfENx +++ mktemp ++ local LAST_ERR=/tmp/tmp.Z7yUJR6MKW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.D6k1knfENx ++ cat /tmp/tmp.Z7yUJR6MKW ++ rm /tmp/tmp.D6k1knfENx /tmp/tmp.Z7yUJR6MKW ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.oEc8hfX1p2 ++ mktemp + local LAST_ERR=/tmp/tmp.CNA6ReovT6 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.28.168.56:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oEc8hfX1p2 + cat /tmp/tmp.CNA6ReovT6 + rm /tmp/tmp.oEc8hfX1p2 /tmp/tmp.CNA6ReovT6 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find + [[ local-balancer-rs0 == \n\o\d\e\-\p\o\r\t\-\r\s\0 ]] + desc 'delete PSMDB cluster local-balancer-rs0' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster local-balancer-rs0 ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/local-balancer-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.I81ItwH9jr ++ mktemp + local LAST_ERR=/tmp/tmp.zmaUkfyhF5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/local-balancer-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.I81ItwH9jr perconaservermongodb.psmdb.percona.com "local-balancer" deleted from service-per-pod-15653 namespace + cat /tmp/tmp.zmaUkfyhF5 + rm /tmp/tmp.I81ItwH9jr /tmp/tmp.zmaUkfyhF5 + return 0 + desc 'check NodePort' + set +o xtrace ----------------------------------------------------------------------------------- check NodePort ----------------------------------------------------------------------------------- + check_cr_config node-port-rs0 + local cluster=node-port-rs0 + desc 'create PSMDB cluster node-port-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster node-port-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/node-port-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/node-port-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/node-port-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604"' + local LAST_OUT=/tmp/tmp.lWc1XLlC4w + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/service-per-pod-15653/g ++ mktemp + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_ERR=/tmp/tmp.nlPxK95Kvn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lWc1XLlC4w perconaservermongodb.psmdb.percona.com/node-port created + cat /tmp/tmp.nlPxK95Kvn + rm /tmp/tmp.lWc1XLlC4w /tmp/tmp.nlPxK95Kvn + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running node-port-rs0 3 false + local name=node-port-rs0 + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=node-port ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod node-port-rs0-0 + local pod=node-port-rs0-0 + set +o xtrace waiting for pod/node-port-rs0-0 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod node-port-rs0-1 + local pod=node-port-rs0-1 + set +o xtrace waiting for pod/node-port-rs0-1 to be ready.....OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YTBKJKC1SA +++ mktemp ++ local LAST_ERR=/tmp/tmp.mNdJeMEO7F ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YTBKJKC1SA ++ cat /tmp/tmp.mNdJeMEO7F ++ rm /tmp/tmp.YTBKJKC1SA /tmp/tmp.mNdJeMEO7F ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod node-port-rs0-2 + local pod=node-port-rs0-2 + set +o xtrace waiting for pod/node-port-rs0-2 to be ready.....OK ++ kubectl_bin get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.26OQLcqvqT +++ mktemp ++ local LAST_ERR=/tmp/tmp.c71bXVb40P ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.26OQLcqvqT ++ cat /tmp/tmp.c71bXVb40P ++ rm /tmp/tmp.26OQLcqvqT /tmp/tmp.c71bXVb40P ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.t8zlFXFWQE +++ mktemp ++ local LAST_ERR=/tmp/tmp.vIy3z1GUyM ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb node-port -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.t8zlFXFWQE ++ cat /tmp/tmp.vIy3z1GUyM ++ rm /tmp/tmp.t8zlFXFWQE /tmp/tmp.vIy3z1GUyM ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + desc 'check if service and statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service and statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/node-port-rs0 + local resource=statefulset/node-port-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_node-port-rs0.yml + local new_result=/tmp/tmp.CSIFgSigtT/statefulset_node-port-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_node-port-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/node-port-rs0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.ftGNAXUdDu ++ mktemp + local LAST_ERR=/tmp/tmp.Bi91XmHrbS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/node-port-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ftGNAXUdDu + cat /tmp/tmp.Bi91XmHrbS + rm /tmp/tmp.ftGNAXUdDu /tmp/tmp.Bi91XmHrbS + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_node-port-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/statefulset_node-port-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/statefulset_node-port-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_node-port-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/statefulset_node-port-rs0.yml /tmp/tmp.CSIFgSigtT/statefulset_node-port-rs0.yml + log 'compare_kubectl: statefulset/node-port-rs0 OK' + set +o xtrace [2026-03-10T08:26:42+0000] compare_kubectl: statefulset/node-port-rs0 OK + compare_kubectl service/node-port-rs0-0 + local resource=service/node-port-rs0-0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml + local new_result=/tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-oc.yml ']' + kubectl_bin get -o yaml service/node-port-rs0-0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.2sQyKmwIQJ ++ mktemp + local LAST_ERR=/tmp/tmp.E6u744zlLl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml service/node-port-rs0-0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2sQyKmwIQJ + cat /tmp/tmp.E6u744zlLl + rm /tmp/tmp.2sQyKmwIQJ /tmp/tmp.E6u744zlLl + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0.yml /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + log 'compare_kubectl: service/node-port-rs0-0 OK' + set +o xtrace [2026-03-10T08:26:43+0000] compare_kubectl: service/node-port-rs0-0 OK ++ get_service_ip node-port-rs0-0 ++ local service=node-port-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.47OsBOjtFr ++++ mktemp +++ local LAST_ERR=/tmp/tmp.I0fsEJ6uqu +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.47OsBOjtFr +++ cat /tmp/tmp.I0fsEJ6uqu +++ rm /tmp/tmp.47OsBOjtFr /tmp/tmp.I0fsEJ6uqu +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lWJv5krTmy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.v2C8IVGClQ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lWJv5krTmy +++ cat /tmp/tmp.v2C8IVGClQ +++ rm /tmp/tmp.lWJv5krTmy /tmp/tmp.v2C8IVGClQ +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZwMEbZxVLH +++ mktemp ++ local LAST_ERR=/tmp/tmp.5gRQvoZQmx ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-0 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZwMEbZxVLH ++ cat /tmp/tmp.5gRQvoZQmx ++ rm /tmp/tmp.ZwMEbZxVLH /tmp/tmp.5gRQvoZQmx ++ return 0 ++ return ++ get_service_ip node-port-rs0-1 ++ local service=node-port-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.RANYn70FNm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.RDT3EoIGTW +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.RANYn70FNm +++ cat /tmp/tmp.RDT3EoIGTW +++ rm /tmp/tmp.RANYn70FNm /tmp/tmp.RDT3EoIGTW +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.7y3NGOhZOW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.sTUgqdstVt +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.7y3NGOhZOW +++ cat /tmp/tmp.sTUgqdstVt +++ rm /tmp/tmp.7y3NGOhZOW /tmp/tmp.sTUgqdstVt +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.klvTI4xyD8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.GhGYLKhMIY ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-1 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.klvTI4xyD8 ++ cat /tmp/tmp.GhGYLKhMIY ++ rm /tmp/tmp.klvTI4xyD8 /tmp/tmp.GhGYLKhMIY ++ return 0 ++ return ++ get_service_ip node-port-rs0-2 ++ local service=node-port-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.eA4xeDOJw2 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.SDwa8VXo2P +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.eA4xeDOJw2 +++ cat /tmp/tmp.SDwa8VXo2P +++ rm /tmp/tmp.eA4xeDOJw2 /tmp/tmp.SDwa8VXo2P +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Rul0Aa7gNx ++++ mktemp +++ local LAST_ERR=/tmp/tmp.npgdZnAnOx +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Rul0Aa7gNx +++ cat /tmp/tmp.npgdZnAnOx +++ rm /tmp/tmp.Rul0Aa7gNx /tmp/tmp.npgdZnAnOx +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WWcxbkUHPe +++ mktemp ++ local LAST_ERR=/tmp/tmp.IISB2LwBSI ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-2 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.WWcxbkUHPe ++ cat /tmp/tmp.IISB2LwBSI ++ rm /tmp/tmp.WWcxbkUHPe /tmp/tmp.IISB2LwBSI ++ return 0 ++ return + local URI=34.118.233.2,34.118.225.187,34.118.228.190 + sleep 30 + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@34.118.233.2,34.118.225.187,34.118.228.190 mongodb :27017 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@34.118.233.2,34.118.225.187,34.118.228.190 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@34.118.233.2,34.118.225.187,34.118.228.190 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JBP7NLgsOY +++ mktemp ++ local LAST_ERR=/tmp/tmp.Fa7T93nc7Q ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JBP7NLgsOY ++ cat /tmp/tmp.Fa7T93nc7Q ++ rm /tmp/tmp.JBP7NLgsOY /tmp/tmp.Fa7T93nc7Q ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.118.233.2,34.118.225.187,34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.v52jfRMJrN ++ mktemp + local LAST_ERR=/tmp/tmp.Tc9pxCcHP3 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@34.118.233.2,34.118.225.187,34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v52jfRMJrN Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.118.233.2:27017,34.118.225.187:27017,34.118.228.190:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("9e3204d6-5699-403d-bdbc-160d324f75ad") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.Tc9pxCcHP3 + rm /tmp/tmp.v52jfRMJrN /tmp/tmp.Tc9pxCcHP3 + return 0 + sleep 10 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@34.118.233.2,34.118.225.187,34.118.228.190 mongodb :27017 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@34.118.233.2,34.118.225.187,34.118.228.190 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.233.2,34.118.225.187,34.118.228.190 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.eEKmO8lgfj +++ mktemp ++ local LAST_ERR=/tmp/tmp.LGacYWFGux ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.eEKmO8lgfj ++ cat /tmp/tmp.LGacYWFGux ++ rm /tmp/tmp.eEKmO8lgfj /tmp/tmp.LGacYWFGux ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.118.233.2,34.118.225.187,34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.w44p3eTRTk ++ mktemp + local LAST_ERR=/tmp/tmp.RYvQQGOLNK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@34.118.233.2,34.118.225.187,34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.w44p3eTRTk Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://34.118.233.2:27017,34.118.225.187:27017,34.118.228.190:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("88f5c80e-6177-426e-b6ef-0905ebae882d") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.RYvQQGOLNK + rm /tmp/tmp.w44p3eTRTk /tmp/tmp.RYvQQGOLNK + return 0 + sleep 30 ++ get_service_ip node-port-rs0-0 ++ local service=node-port-rs0-0 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.bSbV5oxVHS ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XNjByTkFxK +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.bSbV5oxVHS +++ cat /tmp/tmp.XNjByTkFxK +++ rm /tmp/tmp.bSbV5oxVHS /tmp/tmp.XNjByTkFxK +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.WZnpVlF1FQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.FXU7iYhO3y +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-0 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.WZnpVlF1FQ +++ cat /tmp/tmp.FXU7iYhO3y +++ rm /tmp/tmp.WZnpVlF1FQ /tmp/tmp.FXU7iYhO3y +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-0 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Wp98xEs8wT +++ mktemp ++ local LAST_ERR=/tmp/tmp.xys6jVPl8L ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-0 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Wp98xEs8wT ++ cat /tmp/tmp.xys6jVPl8L ++ rm /tmp/tmp.Wp98xEs8wT /tmp/tmp.xys6jVPl8L ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.233.2 '' :27017 + local command=find + local uri=myApp:myPass@34.118.233.2 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:28:12+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.233.2 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.118.233.2 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.233.2 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Jzce7bIO0G +++ mktemp ++ local LAST_ERR=/tmp/tmp.8xTFwlymk7 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Jzce7bIO0G ++ cat /tmp/tmp.8xTFwlymk7 ++ rm /tmp/tmp.Jzce7bIO0G /tmp/tmp.8xTFwlymk7 ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.233.2:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.LJAPCAxBPE ++ mktemp + local LAST_ERR=/tmp/tmp.hU3IJHqjEw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.233.2:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LJAPCAxBPE + cat /tmp/tmp.hU3IJHqjEw + rm /tmp/tmp.LJAPCAxBPE /tmp/tmp.hU3IJHqjEw + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip node-port-rs0-1 ++ local service=node-port-rs0-1 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.DPndg0y6zi ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VrZxCyIsSi +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.DPndg0y6zi +++ cat /tmp/tmp.VrZxCyIsSi +++ rm /tmp/tmp.DPndg0y6zi /tmp/tmp.VrZxCyIsSi +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.XMRJ17vigb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jKw4kWqxVf +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-1 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.XMRJ17vigb +++ cat /tmp/tmp.jKw4kWqxVf +++ rm /tmp/tmp.XMRJ17vigb /tmp/tmp.jKw4kWqxVf +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-1 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.q51piyF9w1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.rqIomo1WjF ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-1 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.q51piyF9w1 ++ cat /tmp/tmp.rqIomo1WjF ++ rm /tmp/tmp.q51piyF9w1 /tmp/tmp.rqIomo1WjF ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.225.187 '' :27017 + local command=find + local uri=myApp:myPass@34.118.225.187 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:28:18+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.225.187 mongodb :27017 '' + local 'command=use myApp\n db.test.find()' + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local uri=myApp:myPass@34.118.225.187 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.225.187 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.r60jz045Jp +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZvvLsfQEwN ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.r60jz045Jp ++ cat /tmp/tmp.ZvvLsfQEwN ++ rm /tmp/tmp.r60jz045Jp /tmp/tmp.ZvvLsfQEwN ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.225.187:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.8EAZVKrHMe ++ mktemp + local LAST_ERR=/tmp/tmp.oNT2I0KJYu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.225.187:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8EAZVKrHMe + cat /tmp/tmp.oNT2I0KJYu + rm /tmp/tmp.8EAZVKrHMe /tmp/tmp.oNT2I0KJYu + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find ++ get_service_ip node-port-rs0-2 ++ local service=node-port-rs0-2 ++ local server_type=rs0 +++ kubectl_bin get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.nySNxMgevT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.WciIPieDsZ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb/node-port -o 'jsonpath={.spec.replsets[].expose.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.nySNxMgevT +++ cat /tmp/tmp.WciIPieDsZ +++ rm /tmp/tmp.nySNxMgevT /tmp/tmp.WciIPieDsZ +++ return 0 ++ '[' true '!=' true ']' ++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' ++ grep -q NotFound +++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.JixTkCrO7z ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mqYriI0T5v +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get service/node-port-rs0-2 -o 'jsonpath={.spec.type}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.JixTkCrO7z +++ cat /tmp/tmp.mqYriI0T5v +++ rm /tmp/tmp.JixTkCrO7z /tmp/tmp.mqYriI0T5v +++ return 0 ++ service_type=NodePort ++ '[' NodePort = ClusterIP ']' ++ '[' NodePort = NodePort ']' ++ kubectl_bin get service/node-port-rs0-2 -o 'jsonpath={.spec.clusterIP}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MIhizpWVft +++ mktemp ++ local LAST_ERR=/tmp/tmp.qhtFIPXMO0 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service/node-port-rs0-2 -o 'jsonpath={.spec.clusterIP}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MIhizpWVft ++ cat /tmp/tmp.qhtFIPXMO0 ++ rm /tmp/tmp.MIhizpWVft /tmp/tmp.qhtFIPXMO0 ++ return 0 ++ return + compare_mongo_cmd find myApp:myPass@34.118.228.190 '' :27017 + local command=find + local uri=myApp:myPass@34.118.228.190 + local postfix= + local suffix=:27017 + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-10T08:28:24+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@34.118.228.190 mongodb :27017 '' + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@34.118.228.190 + local driver=mongodb + local suffix=:27017 + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@34.118.228.190 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HRHVSQr02V +++ mktemp ++ local LAST_ERR=/tmp/tmp.MAsWJlxfbC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HRHVSQr02V ++ cat /tmp/tmp.MAsWJlxfbC ++ rm /tmp/tmp.HRHVSQr02V /tmp/tmp.MAsWJlxfbC ++ return 0 + local client_container=psmdb-client-bb8b97679-7d4gv + kubectl_bin exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.3J2MsyUrDm ++ mktemp + local LAST_ERR=/tmp/tmp.h5jc59tnmv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7d4gv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@34.118.228.190:27017/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3J2MsyUrDm + cat /tmp/tmp.h5jc59tnmv + rm /tmp/tmp.3J2MsyUrDm /tmp/tmp.h5jc59tnmv + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/find.json /tmp/tmp.CSIFgSigtT/find + [[ node-port-rs0 == \n\o\d\e\-\p\o\r\t\-\r\s\0 ]] + desc 'add service-per-pod label and annotation' + set +o xtrace ----------------------------------------------------------------------------------- add service-per-pod label and annotation ----------------------------------------------------------------------------------- ++ kubectl_bin get svc node-port-rs0-0 -o 'jsonpath={.spec.ports[0].nodePort}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PsSUImhpux +++ mktemp ++ local LAST_ERR=/tmp/tmp.Fvav8NYUT4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get svc node-port-rs0-0 -o 'jsonpath={.spec.ports[0].nodePort}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PsSUImhpux ++ cat /tmp/tmp.Fvav8NYUT4 ++ rm /tmp/tmp.PsSUImhpux /tmp/tmp.Fvav8NYUT4 ++ return 0 + old_node_port=31723 + kubectl_bin patch psmdb node-port --type=json --patch '[ { "op": "add", "path": "/spec/replsets/0/expose/annotations", "value": { "test": "service-per-pod", } }, { "op": "add", "path": "/spec/replsets/0/expose/labels", "value": { "test": "service-per-pod", } }]' ++ mktemp + local LAST_OUT=/tmp/tmp.6Gq48XxWkD ++ mktemp + local LAST_ERR=/tmp/tmp.Fi5mgcVYeI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb node-port --type=json --patch '[ { "op": "add", "path": "/spec/replsets/0/expose/annotations", "value": { "test": "service-per-pod", } }, { "op": "add", "path": "/spec/replsets/0/expose/labels", "value": { "test": "service-per-pod", } }]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6Gq48XxWkD perconaservermongodb.psmdb.percona.com/node-port patched + cat /tmp/tmp.Fi5mgcVYeI + rm /tmp/tmp.6Gq48XxWkD /tmp/tmp.Fi5mgcVYeI + return 0 + sleep 5 + desc 'check if service created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service created with expected config ----------------------------------------------------------------------------------- + compare_kubectl service/node-port-rs0-0 -updated + local resource=service/node-port-rs0-0 + local postfix=-updated + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml + local new_result=/tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated-oc.yml ']' + kubectl_bin get -o yaml service/node-port-rs0-0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("service-per-pod-15653", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.GCZG5ypAE4 ++ mktemp + local LAST_ERR=/tmp/tmp.F7I4Hbs0Ed + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml service/node-port-rs0-0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GCZG5ypAE4 + cat /tmp/tmp.F7I4Hbs0Ed + rm /tmp/tmp.GCZG5ypAE4 /tmp/tmp.F7I4Hbs0Ed + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/compare/service_node-port-rs0-0-updated.yml /tmp/tmp.CSIFgSigtT/service_node-port-rs0-0.yml + log 'compare_kubectl: service/node-port-rs0-0 OK' + set +o xtrace [2026-03-10T08:28:35+0000] compare_kubectl: service/node-port-rs0-0 OK ++ kubectl_bin get svc node-port-rs0-0 -o 'jsonpath={.spec.ports[0].nodePort}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dn1iEp68A7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.f2fOmE1poc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get svc node-port-rs0-0 -o 'jsonpath={.spec.ports[0].nodePort}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dn1iEp68A7 ++ cat /tmp/tmp.f2fOmE1poc ++ rm /tmp/tmp.dn1iEp68A7 /tmp/tmp.f2fOmE1poc ++ return 0 + current_node_port=31723 + [[ 31723 != \3\1\7\2\3 ]] + desc 'delete PSMDB cluster node-port-rs0' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster node-port-rs0 ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/node-port-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.O9DBVWfM9H ++ mktemp + local LAST_ERR=/tmp/tmp.f15YStkO7Q + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/node-port-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.O9DBVWfM9H perconaservermongodb.psmdb.percona.com "node-port" deleted from service-per-pod-15653 namespace + cat /tmp/tmp.f15YStkO7Q + rm /tmp/tmp.O9DBVWfM9H /tmp/tmp.f15YStkO7Q + return 0 + desc 'check Mongos in sharded cluster' + set +o xtrace ----------------------------------------------------------------------------------- check Mongos in sharded cluster ----------------------------------------------------------------------------------- + local cluster=some-name + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/sharded.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/sharded.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/e2e-tests/service-per-pod/conf/sharded.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2266-f9fc55604"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/service-per-pod-15653/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.lMfhOZSEtb ++ mktemp + local LAST_ERR=/tmp/tmp.kZpVu3hyXY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lMfhOZSEtb perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.kZpVu3hyXY + rm /tmp/tmp.lMfhOZSEtb /tmp/tmp.kZpVu3hyXY + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready............OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready..............OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ymOuCln6Wv +++ mktemp ++ local LAST_ERR=/tmp/tmp.gGy5cMtL4c ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ymOuCln6Wv ++ cat /tmp/tmp.gGy5cMtL4c ++ rm /tmp/tmp.ymOuCln6Wv /tmp/tmp.gGy5cMtL4c ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready...........OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Ixf496eLQY +++ mktemp ++ local LAST_ERR=/tmp/tmp.vo7seKLyYR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Ixf496eLQY ++ cat /tmp/tmp.vo7seKLyYR ++ rm /tmp/tmp.Ixf496eLQY /tmp/tmp.vo7seKLyYR ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LxezD2bwaN +++ mktemp ++ local LAST_ERR=/tmp/tmp.uVwlhrA5Jq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LxezD2bwaN ++ cat /tmp/tmp.uVwlhrA5Jq ++ rm /tmp/tmp.LxezD2bwaN /tmp/tmp.uVwlhrA5Jq ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness................................... + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yPlPZTDvEo +++ mktemp ++ local LAST_ERR=/tmp/tmp.fTuKMtIzed ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yPlPZTDvEo ++ cat /tmp/tmp.fTuKMtIzed ++ rm /tmp/tmp.yPlPZTDvEo /tmp/tmp.fTuKMtIzed ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9Ttpp7KCJF +++ mktemp ++ local LAST_ERR=/tmp/tmp.wrLMfSML73 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9Ttpp7KCJF ++ cat /tmp/tmp.wrLMfSML73 ++ rm /tmp/tmp.9Ttpp7KCJF /tmp/tmp.wrLMfSML73 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Vh0wqLqCUn +++ mktemp ++ local LAST_ERR=/tmp/tmp.e51BGEpw3e ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Vh0wqLqCUn ++ cat /tmp/tmp.e51BGEpw3e ++ rm /tmp/tmp.Vh0wqLqCUn /tmp/tmp.e51BGEpw3e ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YGkGiebH2y +++ mktemp ++ local LAST_ERR=/tmp/tmp.hl6DcXlIk0 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YGkGiebH2y ++ cat /tmp/tmp.hl6DcXlIk0 ++ rm /tmp/tmp.YGkGiebH2y /tmp/tmp.hl6DcXlIk0 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.L1PB62VyfD +++ mktemp ++ local LAST_ERR=/tmp/tmp.3JJmiAwozp ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.L1PB62VyfD ++ cat /tmp/tmp.3JJmiAwozp ++ rm /tmp/tmp.L1PB62VyfD /tmp/tmp.3JJmiAwozp ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6WFLe0vv80 +++ mktemp ++ local LAST_ERR=/tmp/tmp.pXgPY7AmZo ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6WFLe0vv80 ++ cat /tmp/tmp.pXgPY7AmZo ++ rm /tmp/tmp.6WFLe0vv80 /tmp/tmp.pXgPY7AmZo ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + desc 'enabling servicePerPod for mongos' + set +o xtrace ----------------------------------------------------------------------------------- enabling servicePerPod for mongos ----------------------------------------------------------------------------------- + kubectl patch psmdb some-name --type=merge -p '{"spec":{"sharding":{"mongos":{"expose":{"servicePerPod":true}}}}}' perconaservermongodb.psmdb.percona.com/some-name patched + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.k1YukSR1IG +++ mktemp ++ local LAST_ERR=/tmp/tmp.84TZLQJQp3 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.k1YukSR1IG ++ cat /tmp/tmp.84TZLQJQp3 ++ rm /tmp/tmp.k1YukSR1IG /tmp/tmp.84TZLQJQp3 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.GOpplbVRpw +++ mktemp ++ local LAST_ERR=/tmp/tmp.ri7LcTlOMe ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.GOpplbVRpw ++ cat /tmp/tmp.ri7LcTlOMe ++ rm /tmp/tmp.GOpplbVRpw /tmp/tmp.ri7LcTlOMe ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zz2ueD1KJp +++ mktemp ++ local LAST_ERR=/tmp/tmp.Tg0rLoN4Oz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zz2ueD1KJp ++ cat /tmp/tmp.Tg0rLoN4Oz ++ rm /tmp/tmp.zz2ueD1KJp /tmp/tmp.Tg0rLoN4Oz ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + check_service present some-name-mongos-0 + state=present + svc_name=some-name-mongos-0 + '[' present = present ']' + echo -n 'check that some-name-mongos-0 was created' check that some-name-mongos-0 was created+ local timeout=0 + kubectl_bin get service/some-name-mongos-0 -o 'jsonpath={.spec.type}' + grep -vq NotFound + echo .OK .OK + check_service present some-name-mongos-1 + state=present + svc_name=some-name-mongos-1 + '[' present = present ']' + echo -n 'check that some-name-mongos-1 was created' check that some-name-mongos-1 was created+ local timeout=0 + kubectl_bin get service/some-name-mongos-1 -o 'jsonpath={.spec.type}' + grep -vq NotFound + echo .OK .OK + check_service present some-name-mongos-2 + state=present + svc_name=some-name-mongos-2 + '[' present = present ']' + echo -n 'check that some-name-mongos-2 was created' check that some-name-mongos-2 was created+ local timeout=0 + kubectl_bin get service/some-name-mongos-2 -o 'jsonpath={.spec.type}' + grep -vq NotFound + echo .OK .OK + check_service removed some-name-mongos + state=removed + svc_name=some-name-mongos + '[' removed = present ']' + '[' removed = removed ']' + echo -n 'check that some-name-mongos was removed' check that some-name-mongos was removed++ kubectl_bin get service/some-name-mongos -o 'jsonpath={.spec.type}' ++ grep NotFound + [[ -z Error from server (NotFound): services "some-name-mongos" not found Error from server (NotFound): services "some-name-mongos" not found Error from server (NotFound): services "some-name-mongos" not found Error from server (NotFound): services "some-name-mongos" not found ]] + echo .OK .OK + destroy service-per-pod-15653 + local namespace=service-per-pod-15653 + local ignore_logs=true + [[ 0 == 1 ]] + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false ']' + delete_backups + desc 'Delete psmdb-backup' + set +o xtrace ----------------------------------------------------------------------------------- Delete psmdb-backup ----------------------------------------------------------------------------------- ++ kubectl_bin get psmdb-backup --no-headers ++ wc -l +++ mktemp ++ local LAST_OUT=/tmp/tmp.HSp5RnHFJQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.rhdkTY02ca ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup --no-headers ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HSp5RnHFJQ ++ cat /tmp/tmp.rhdkTY02ca No resources found in service-per-pod-15653 namespace. ++ rm /tmp/tmp.HSp5RnHFJQ /tmp/tmp.rhdkTY02ca ++ return 0 + '[' 0 '!=' 0 ']' + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.jWaQzr3ySf ++ mktemp + local LAST_ERR=/tmp/tmp.15Y6ay68TN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jWaQzr3ySf customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.15Y6ay68TN + rm /tmp/tmp.jWaQzr3ySf /tmp/tmp.15Y6ay68TN + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.aN2X81aJ3q ++ mktemp + local LAST_ERR=/tmp/tmp.PANcQ8NykM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aN2X81aJ3q + cat /tmp/tmp.PANcQ8NykM + rm /tmp/tmp.aN2X81aJ3q /tmp/tmp.PANcQ8NykM + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.TtBMoV5eNn ++ mktemp + local LAST_ERR=/tmp/tmp.M8m4yGVvVw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TtBMoV5eNn + cat /tmp/tmp.M8m4yGVvVw + rm /tmp/tmp.TtBMoV5eNn /tmp/tmp.M8m4yGVvVw + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.aVoIYlQQVR ++ mktemp + local LAST_ERR=/tmp/tmp.VwE6QJt7uE + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aVoIYlQQVR + cat /tmp/tmp.VwE6QJt7uE + rm /tmp/tmp.aVoIYlQQVR /tmp/tmp.VwE6QJt7uE + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.LJf2rkm5og ++ mktemp + local LAST_ERR=/tmp/tmp.iKFRACu0yq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2266/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LJf2rkm5og clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.iKFRACu0yq + rm /tmp/tmp.LJf2rkm5og /tmp/tmp.iKFRACu0yq + return 0 + destroy_cert_manager + kubectl_bin delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.eI1dKrE3qw ++ mktemp + local LAST_ERR=/tmp/tmp.3xIgslhIjy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.eI1dKrE3qw namespace "cert-manager" deleted customresourcedefinition.apiextensions.k8s.io "challenges.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "orders.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificaterequests.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificates.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "clusterissuers.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "issuers.cert-manager.io" deleted serviceaccount "cert-manager-cainjector" deleted from cert-manager namespace serviceaccount "cert-manager" deleted from cert-manager namespace serviceaccount "cert-manager-webhook" deleted from cert-manager namespace clusterrole.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-cluster-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-edit" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted role.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager-tokenrequest" deleted from cert-manager namespace role.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace rolebinding.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager-tokenrequest" deleted from cert-manager namespace rolebinding.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace service "cert-manager-cainjector" deleted from cert-manager namespace service "cert-manager" deleted from cert-manager namespace service "cert-manager-webhook" deleted from cert-manager namespace deployment.apps "cert-manager-cainjector" deleted from cert-manager namespace deployment.apps "cert-manager" deleted from cert-manager namespace deployment.apps "cert-manager-webhook" deleted from cert-manager namespace mutatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted validatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted + cat /tmp/tmp.3xIgslhIjy + rm /tmp/tmp.eI1dKrE3qw /tmp/tmp.3xIgslhIjy + return 0 + '[' -n '' ']' + '[' -n psmdb-operator ']' + rm -rf /tmp/tmp.CSIFgSigtT + kubectl_bin delete --grace-period=0 --force=true namespace service-per-pod-15653 + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.YnjPoIASpP + local LAST_OUT=/tmp/tmp.7eSVBHn3PO ++ mktemp + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- ++ mktemp + local LAST_ERR=/tmp/tmp.bBHTdR2rNt + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.5dHrHeq1c3 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace psmdb-operator + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace service-per-pod-15653