Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/logs/pitr-physical-backup-source.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-backup-source-2456 + local ns=pitr-physical-backup-source-2456 + echo pitr-physical-backup-source-2456 + [[ 0 == 1 ]] + '[' -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 ++ 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' ++ mktemp + awk '{print$1}' + '[' -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.F68fnAsiLE + local LAST_OUT=/tmp/tmp.Z5tlMzDi4q ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.WV3cstYofO + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.gY7VQAnlQK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + for i in $(seq 0 2) + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Z5tlMzDi4q + cat /tmp/tmp.gY7VQAnlQK + rm /tmp/tmp.Z5tlMzDi4q /tmp/tmp.gY7VQAnlQK + return 0 namespace "mongod-major-upgrade-sharded-3473" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.F68fnAsiLE namespace "psmdb-operator" deleted + cat /tmp/tmp.WV3cstYofO + rm /tmp/tmp.F68fnAsiLE /tmp/tmp.WV3cstYofO + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.dHthsJ8QP0 ++ mktemp + local LAST_ERR=/tmp/tmp.bjLoCnWNCw + 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.dHthsJ8QP0 + cat /tmp/tmp.bjLoCnWNCw + rm /tmp/tmp.dHthsJ8QP0 /tmp/tmp.bjLoCnWNCw + 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.eRjwM7Un3Z ++ mktemp + local LAST_ERR=/tmp/tmp.SLoT22Vts2 + 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.eRjwM7Un3Z namespace/psmdb-operator created + cat /tmp/tmp.SLoT22Vts2 + rm /tmp/tmp.eRjwM7Un3Z /tmp/tmp.SLoT22Vts2 + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.hzZxeWkVVR +++ mktemp ++ local LAST_ERR=/tmp/tmp.4lVm9Zf1Pr ++ 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.hzZxeWkVVR ++ cat /tmp/tmp.4lVm9Zf1Pr ++ rm /tmp/tmp.hzZxeWkVVR /tmp/tmp.4lVm9Zf1Pr ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.8uS2fIjy43 ++ mktemp + local LAST_ERR=/tmp/tmp.qZCRp2Fuwi + 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-2058-fb8cc7187-17-cluster4 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8uS2fIjy43 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4" modified. + cat /tmp/tmp.qZCRp2Fuwi + rm /tmp/tmp.8uS2fIjy43 /tmp/tmp.qZCRp2Fuwi + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.kIOxVnVfzz ++ mktemp + local LAST_ERR=/tmp/tmp.kIrcTaC9YX + 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-2058/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kIOxVnVfzz 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.kIrcTaC9YX + rm /tmp/tmp.kIOxVnVfzz /tmp/tmp.kIrcTaC9YX + 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-2058/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.1U0eVpbKFQ ++ mktemp + local LAST_ERR=/tmp/tmp.mSFjJrZpkG + 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.1U0eVpbKFQ clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator unchanged serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.mSFjJrZpkG + rm /tmp/tmp.1U0eVpbKFQ /tmp/tmp.mSFjJrZpkG + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.40NRtyHpre ++ mktemp + local LAST_ERR=/tmp/tmp.hccMg8MP4Z + 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.40NRtyHpre deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.hccMg8MP4Z + rm /tmp/tmp.40NRtyHpre /tmp/tmp.hccMg8MP4Z + 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.gJ6PBDIWIM +++ mktemp ++ local LAST_ERR=/tmp/tmp.MdKYVkE5re ++ 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.gJ6PBDIWIM ++ cat /tmp/tmp.MdKYVkE5re ++ rm /tmp/tmp.gJ6PBDIWIM /tmp/tmp.MdKYVkE5re ++ return 0 + wait_operator_pod percona-server-mongodb-operator-859f4bc6d7-lhbtt + local pod=percona-server-mongodb-operator-859f4bc6d7-lhbtt + set +o xtrace waiting for pod/percona-server-mongodb-operator-859f4bc6d7-lhbtt 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.ZYpEU0IDSN +++ mktemp ++ local LAST_ERR=/tmp/tmp.I8D9UYKVDq ++ 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.ZYpEU0IDSN ++ cat /tmp/tmp.I8D9UYKVDq ++ rm /tmp/tmp.ZYpEU0IDSN /tmp/tmp.I8D9UYKVDq ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-859f4bc6d7-lhbtt ++ mktemp + local LAST_OUT=/tmp/tmp.vUTz08yBfV ++ mktemp + local LAST_ERR=/tmp/tmp.XgTUaLwpJ2 + 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-859f4bc6d7-lhbtt + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vUTz08yBfV + cat /tmp/tmp.XgTUaLwpJ2 + rm /tmp/tmp.vUTz08yBfV /tmp/tmp.XgTUaLwpJ2 + return 0 2026-06-09T09:35:03.329Z INFO setup Manager starting up {"gitCommit": "fb8cc718776dc8f9e011cd5f23fe48cf7f65143e", "gitBranch": "PR-2058-fb8cc7187", "buildTime": "", "goVersion": "go1.26.4", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-2456 + local namespace=pitr-physical-backup-source-2456 + 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 ++ 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}' + '[' -n '' ']' + desc 'cleaned up old namespaces pitr-physical-backup-source-2456' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-2456 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-2456 --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.2jqcGckV4S ++ mktemp + local LAST_OUT=/tmp/tmp.LaZiOk92Fb ++ mktemp + local LAST_ERR=/tmp/tmp.9sgvxVqkq3 + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.aNufxg7Lpq + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-2456 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LaZiOk92Fb + cat /tmp/tmp.9sgvxVqkq3 + rm /tmp/tmp.LaZiOk92Fb /tmp/tmp.9sgvxVqkq3 + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2jqcGckV4S + cat /tmp/tmp.aNufxg7Lpq + rm /tmp/tmp.2jqcGckV4S /tmp/tmp.aNufxg7Lpq + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-2456 ++ mktemp + local LAST_OUT=/tmp/tmp.pl7fjKJvIr ++ mktemp + local LAST_ERR=/tmp/tmp.4nCdj6kmmC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace pitr-physical-backup-source-2456 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pl7fjKJvIr + cat /tmp/tmp.4nCdj6kmmC + rm /tmp/tmp.pl7fjKJvIr /tmp/tmp.4nCdj6kmmC + return 0 + desc 'create namespace pitr-physical-backup-source-2456' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-2456 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-2456 ++ mktemp + local LAST_OUT=/tmp/tmp.PnKj8SrYo6 ++ mktemp + local LAST_ERR=/tmp/tmp.n6us6qggp8 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace pitr-physical-backup-source-2456 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PnKj8SrYo6 namespace/pitr-physical-backup-source-2456 created + cat /tmp/tmp.n6us6qggp8 + rm /tmp/tmp.PnKj8SrYo6 /tmp/tmp.n6us6qggp8 + return 0 + set_kube_ctx pitr-physical-backup-source-2456 + local namespace=pitr-physical-backup-source-2456 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.KsGHQQPRPe +++ mktemp ++ local LAST_ERR=/tmp/tmp.Qtq2HmRhju ++ 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.KsGHQQPRPe ++ cat /tmp/tmp.Qtq2HmRhju ++ rm /tmp/tmp.KsGHQQPRPe /tmp/tmp.Qtq2HmRhju ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4 --namespace=pitr-physical-backup-source-2456 ++ mktemp + local LAST_OUT=/tmp/tmp.0QBEyOsSBs ++ mktemp + local LAST_ERR=/tmp/tmp.OsgtyVckAE + 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-2058-fb8cc7187-17-cluster4 --namespace=pitr-physical-backup-source-2456 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0QBEyOsSBs Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4" modified. + cat /tmp/tmp.OsgtyVckAE + rm /tmp/tmp.0QBEyOsSBs /tmp/tmp.OsgtyVckAE + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Tue Jun 9 09:35:40 2026 NAMESPACE: pitr-physical-backup-source-2456 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.pitr-physical-backup-source-2456.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-2456 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-2456 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace pitr-physical-backup-source-2456 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-2456 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.V1aqhP0gMs +++ mktemp ++ local LAST_ERR=/tmp/tmp.tJcnVnpJH1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.V1aqhP0gMs ++ cat /tmp/tmp.tJcnVnpJH1 ++ rm /tmp/tmp.V1aqhP0gMs /tmp/tmp.tJcnVnpJH1 ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-m7gjd + wait_pod minio-service-6d5f646cdc-m7gjd + local pod=minio-service-6d5f646cdc-m7gjd + set +o xtrace waiting for pod/minio-service-6d5f646cdc-m7gjd to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-physical-backup-source-2456.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.D6ckbIsMRo ++ mktemp + local LAST_ERR=/tmp/tmp.YjL9GOYB9o + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.D6ckbIsMRo make_bucket: operator-testing pod "aws-cli" deleted from pitr-physical-backup-source-2456 namespace + cat /tmp/tmp.YjL9GOYB9o All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.D6ckbIsMRo /tmp/tmp.YjL9GOYB9o + return 0 + 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-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.Y8nxdeXJC1 ++ mktemp + local LAST_ERR=/tmp/tmp.w5ggkWQjvX + 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-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Y8nxdeXJC1 secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.w5ggkWQjvX + rm /tmp/tmp.Y8nxdeXJC1 /tmp/tmp.w5ggkWQjvX + return 0 + cluster=some-name + desc 'create first PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-2456/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.m2qX92B3oY ++ mktemp + local LAST_ERR=/tmp/tmp.q1rnj59W7l + 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.m2qX92B3oY perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.q1rnj59W7l + rm /tmp/tmp.m2qX92B3oY /tmp/tmp.q1rnj59W7l + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + 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.UtM12R2lR5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.wCC6QqFZ6Q ++ 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.UtM12R2lR5 ++ cat /tmp/tmp.wCC6QqFZ6Q ++ rm /tmp/tmp.UtM12R2lR5 /tmp/tmp.wCC6QqFZ6Q ++ return 0 + [[ '' == true ]] + 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.zN25d6mNuo +++ mktemp ++ local LAST_ERR=/tmp/tmp.KHcDTA8cNa ++ 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.zN25d6mNuo ++ cat /tmp/tmp.KHcDTA8cNa ++ rm /tmp/tmp.zN25d6mNuo /tmp/tmp.KHcDTA8cNa ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HtkkxfFpED +++ mktemp ++ local LAST_ERR=/tmp/tmp.Eg63rPdysB ++ 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.HtkkxfFpED ++ cat /tmp/tmp.Eg63rPdysB ++ rm /tmp/tmp.HtkkxfFpED /tmp/tmp.Eg63rPdysB ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + 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.OpI6BzUZCF +++ mktemp ++ local LAST_ERR=/tmp/tmp.kOK8FGNG9D ++ 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.OpI6BzUZCF ++ cat /tmp/tmp.kOK8FGNG9D ++ rm /tmp/tmp.OpI6BzUZCF /tmp/tmp.kOK8FGNG9D ++ return 0 + [[ '' == true ]] + 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.BrLwD75ms7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.92bGx35LEQ ++ 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.BrLwD75ms7 ++ cat /tmp/tmp.92bGx35LEQ ++ rm /tmp/tmp.BrLwD75ms7 /tmp/tmp.92bGx35LEQ ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.XdeAPfa9Hs +++ mktemp ++ local LAST_ERR=/tmp/tmp.R3mqP53IEu ++ 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.XdeAPfa9Hs ++ cat /tmp/tmp.R3mqP53IEu ++ rm /tmp/tmp.XdeAPfa9Hs /tmp/tmp.R3mqP53IEu ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + sleep 10 + write_initial_data + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MGYR1toxEe +++ mktemp ++ local LAST_ERR=/tmp/tmp.VpqdYYZW3l ++ 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.MGYR1toxEe ++ cat /tmp/tmp.VpqdYYZW3l ++ rm /tmp/tmp.MGYR1toxEe /tmp/tmp.VpqdYYZW3l ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.lKOW0LjHqL ++ mktemp + local LAST_ERR=/tmp/tmp.n0hiZ4SIrR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lKOW0LjHqL Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("7b55e260-672e-4f8d-8f65-84d9b928a744") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.n0hiZ4SIrR + rm /tmp/tmp.lKOW0LjHqL /tmp/tmp.n0hiZ4SIrR + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-06-09T09:40:10+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3POhj6rah8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.DQXRWi7lA3 ++ 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.3POhj6rah8 ++ cat /tmp/tmp.DQXRWi7lA3 ++ rm /tmp/tmp.3POhj6rah8 /tmp/tmp.DQXRWi7lA3 ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.AfP7nQLK3j ++ mktemp + local LAST_ERR=/tmp/tmp.vfttqwbOem + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AfP7nQLK3j Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("97d657dc-fcbf-4f5a-b085-00be69ced7ff") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.vfttqwbOem + rm /tmp/tmp.AfP7nQLK3j /tmp/tmp.vfttqwbOem + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T09:40:13+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + grep -E -v 'I NETWORK|W 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@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BnRqOguuee +++ mktemp ++ local LAST_ERR=/tmp/tmp.9nnUYRqJWY ++ 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.BnRqOguuee ++ cat /tmp/tmp.9nnUYRqJWY ++ rm /tmp/tmp.BnRqOguuee /tmp/tmp.9nnUYRqJWY ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.sbRn5SOG3l ++ mktemp + local LAST_ERR=/tmp/tmp.V4YCQ9uvg0 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sbRn5SOG3l + cat /tmp/tmp.V4YCQ9uvg0 + rm /tmp/tmp.sbRn5SOG3l /tmp/tmp.V4YCQ9uvg0 + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.VU3LU7qCKk/find + wait_backup_agent some-name-rs0-0 + local agent_pod=some-name-rs0-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-0...2026-06-09T09:39:20.000+0000 I listening for the commands + wait_backup_agent some-name-rs0-1 + local agent_pod=some-name-rs0-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-1...2026-06-09T09:39:21.000+0000 I listening for the commands + wait_backup_agent some-name-rs0-2 + local agent_pod=some-name-rs0-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-2...2026-06-09T09:39:31.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-0 + local agent_pod=some-name-rs1-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-0...2026-06-09T09:39:18.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-1 + local agent_pod=some-name-rs1-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-1...2026-06-09T09:39:22.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-2 + local agent_pod=some-name-rs1-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-2...2026-06-09T09:39:32.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-0 + local agent_pod=some-name-rs2-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-0...2026-06-09T09:39:19.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-1 + local agent_pod=some-name-rs2-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-1...2026-06-09T09:39:23.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-2 + local agent_pod=some-name-rs2-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-2...2026-06-09T09:39:32.000+0000 I listening for the commands + echo 'Sleeping for 360 seconds' Sleeping for 360 seconds + sleep 360 + backup_name_minio=backup-minio + desc 'restore pitr type date using backupSource' + set +o xtrace ----------------------------------------------------------------------------------- restore pitr type date using backupSource ----------------------------------------------------------------------------------- + run_backup backup-minio 1 physical + local name=backup-minio + local idx=1 + local type=physical + desc 'run backup backup-minio-1' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-1 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/backup-minio.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-1/' + /usr/sbin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.h9q4Ooi5WY ++ mktemp + local LAST_ERR=/tmp/tmp.2YKnbh9QWO + 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.h9q4Ooi5WY perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.2YKnbh9QWO + rm /tmp/tmp.h9q4Ooi5WY /tmp/tmp.2YKnbh9QWO + return 0 + wait_backup backup-minio-1 + local backup_name=backup-minio-1 + local target_state=ready + set +o xtrace waiting for backup-minio-1 to reach ready state..........OK + compare_latest_restorable_time some-name-rs0 backup-minio-1 + local cluster=some-name-rs0 + local backup_name=backup-minio-1 + local latest_restorable_time + local backup_time ++ get_latest_restorable_time some-name-rs0 ++ local cluster=some-name-rs0 ++ local first_timestamp ++ local second_timestamp ++ local retry=0 ++ [[ '' != '' ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.g8ApM4pLKc ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KPnC0L3jPb +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.g8ApM4pLKc +++ cat /tmp/tmp.KPnC0L3jPb +++ rm /tmp/tmp.g8ApM4pLKc /tmp/tmp.KPnC0L3jPb +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.6ZcdGC72ro ++++ mktemp +++ local LAST_ERR=/tmp/tmp.iMPf3ci8C2 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.6ZcdGC72ro +++ cat /tmp/tmp.iMPf3ci8C2 +++ rm /tmp/tmp.6ZcdGC72ro /tmp/tmp.iMPf3ci8C2 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 2 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.8GW1E1qhOc ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jTbX0KiF1v +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.8GW1E1qhOc +++ cat /tmp/tmp.jTbX0KiF1v +++ rm /tmp/tmp.8GW1E1qhOc /tmp/tmp.jTbX0KiF1v +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 3 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.kjUMR9ZtOq ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XstbPWRyDj +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.kjUMR9ZtOq +++ cat /tmp/tmp.XstbPWRyDj +++ rm /tmp/tmp.kjUMR9ZtOq /tmp/tmp.XstbPWRyDj +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 4 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.JMTxEJmFhD ++++ mktemp +++ local LAST_ERR=/tmp/tmp.l9ERqEUGD5 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.JMTxEJmFhD +++ cat /tmp/tmp.l9ERqEUGD5 +++ rm /tmp/tmp.JMTxEJmFhD /tmp/tmp.l9ERqEUGD5 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 5 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.GFqftQX0hY ++++ mktemp +++ local LAST_ERR=/tmp/tmp.pzCS0eE9yY +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.GFqftQX0hY +++ cat /tmp/tmp.pzCS0eE9yY +++ rm /tmp/tmp.GFqftQX0hY /tmp/tmp.pzCS0eE9yY +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 6 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.K78zVvm6jM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.0d7ZwJZ6h8 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.K78zVvm6jM +++ cat /tmp/tmp.0d7ZwJZ6h8 +++ rm /tmp/tmp.K78zVvm6jM /tmp/tmp.0d7ZwJZ6h8 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 7 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.hJTap6lvA0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.TZhh71pG39 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.hJTap6lvA0 +++ cat /tmp/tmp.TZhh71pG39 +++ rm /tmp/tmp.hJTap6lvA0 /tmp/tmp.TZhh71pG39 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 8 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.DkOt4sizUQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.wR9FcGvAsM +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.DkOt4sizUQ +++ cat /tmp/tmp.wR9FcGvAsM +++ rm /tmp/tmp.DkOt4sizUQ /tmp/tmp.wR9FcGvAsM +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 9 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.FLUIxtuBKS ++++ mktemp +++ local LAST_ERR=/tmp/tmp.PE8NVvUjsA +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.FLUIxtuBKS +++ cat /tmp/tmp.PE8NVvUjsA +++ rm /tmp/tmp.FLUIxtuBKS /tmp/tmp.PE8NVvUjsA +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 10 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lG4OgoPo5D ++++ mktemp +++ local LAST_ERR=/tmp/tmp.rUK4hBelZ6 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lG4OgoPo5D +++ cat /tmp/tmp.rUK4hBelZ6 +++ rm /tmp/tmp.lG4OgoPo5D /tmp/tmp.rUK4hBelZ6 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 11 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ee8fwSi0zb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jOp0ARledq +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ee8fwSi0zb +++ cat /tmp/tmp.jOp0ARledq +++ rm /tmp/tmp.ee8fwSi0zb /tmp/tmp.jOp0ARledq +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 12 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.hmYDbqKbbD ++++ mktemp +++ local LAST_ERR=/tmp/tmp.7KHuECv2uo +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.hmYDbqKbbD +++ cat /tmp/tmp.7KHuECv2uo +++ rm /tmp/tmp.hmYDbqKbbD /tmp/tmp.7KHuECv2uo +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 13 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.b8FT0KeExy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Oi4u2SAKCo +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.b8FT0KeExy +++ cat /tmp/tmp.Oi4u2SAKCo +++ rm /tmp/tmp.b8FT0KeExy /tmp/tmp.Oi4u2SAKCo +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 14 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pu44zrslPC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Opbq6yO645 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.pu44zrslPC +++ cat /tmp/tmp.Opbq6yO645 +++ rm /tmp/tmp.pu44zrslPC /tmp/tmp.Opbq6yO645 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 15 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.mg99BsM8ug ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IUMugpuc6P +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.mg99BsM8ug +++ cat /tmp/tmp.IUMugpuc6P +++ rm /tmp/tmp.mg99BsM8ug /tmp/tmp.IUMugpuc6P +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 16 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.a7pxFrldE3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.WjBFiU4RkD +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.a7pxFrldE3 +++ cat /tmp/tmp.WjBFiU4RkD +++ rm /tmp/tmp.a7pxFrldE3 /tmp/tmp.WjBFiU4RkD +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 17 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.RX7SIK5zi5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.8WAshyULvK +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.RX7SIK5zi5 +++ cat /tmp/tmp.8WAshyULvK +++ rm /tmp/tmp.RX7SIK5zi5 /tmp/tmp.8WAshyULvK +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 18 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.0Vf9WZxsSF ++++ mktemp +++ local LAST_ERR=/tmp/tmp.8tsu8c3Wlq +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.0Vf9WZxsSF +++ cat /tmp/tmp.8tsu8c3Wlq +++ rm /tmp/tmp.0Vf9WZxsSF /tmp/tmp.8tsu8c3Wlq +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 19 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.AaEsXuy0Bu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lS4weqk5Ot +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.AaEsXuy0Bu +++ cat /tmp/tmp.lS4weqk5Ot +++ rm /tmp/tmp.AaEsXuy0Bu /tmp/tmp.lS4weqk5Ot +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 20 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.xPz4Au1t2d ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jMBXHWdk8y +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.xPz4Au1t2d +++ cat /tmp/tmp.jMBXHWdk8y +++ rm /tmp/tmp.xPz4Au1t2d /tmp/tmp.jMBXHWdk8y +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 21 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.zERybd15Xg ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IGeW944wM5 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.zERybd15Xg +++ cat /tmp/tmp.IGeW944wM5 +++ rm /tmp/tmp.zERybd15Xg /tmp/tmp.IGeW944wM5 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 22 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ylmtBAVQti ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UgMzlPNWQB +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ylmtBAVQti +++ cat /tmp/tmp.UgMzlPNWQB +++ rm /tmp/tmp.ylmtBAVQti /tmp/tmp.UgMzlPNWQB +++ return 0 ++ first_timestamp=1780998546 ++ sleep 5 ++ [[ 1780998546 != '' ]] ++ [[ 1780998546 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.vb3ZN3UIr4 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.K4dSqNQuTN +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.vb3ZN3UIr4 +++ cat /tmp/tmp.K4dSqNQuTN +++ rm /tmp/tmp.vb3ZN3UIr4 /tmp/tmp.K4dSqNQuTN +++ return 0 ++ second_timestamp=1780998546 ++ let retry+=1 ++ [[ 23 -gt 30 ]] ++ [[ 1780998546 != '' ]] ++ [[ 1780998546 != null ]] ++ [[ 1780998546 == 1780998546 ]] ++ /usr/sbin/date -u -d @1780998546 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-06-09T09:49:06Z ++ get_latest_restorable_time_from_backup_object backup-minio-1 ++ local backup_name=backup-minio-1 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.8Wh2e0snfU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.TxRbWwFBYf +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.8Wh2e0snfU +++ cat /tmp/tmp.TxRbWwFBYf +++ rm /tmp/tmp.8Wh2e0snfU /tmp/tmp.TxRbWwFBYf +++ return 0 ++ latestRestorableTime=2026-06-09T09:49:06Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-06-09T09:49:06Z != '' ]] ++ [[ 2026-06-09T09:49:06Z != null ]] ++ echo 2026-06-09T09:49:06Z + backup_time=2026-06-09T09:49:06Z + [[ 2026-06-09T09:49:06Z != 2026\-06\-09T09\:49\:06Z ]] + reset_collection + desc 'reset data' + set +o xtrace ----------------------------------------------------------------------------------- reset data ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.remove({})' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZKhImXOxz3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.eQq1dCBD9y ++ 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.ZKhImXOxz3 ++ cat /tmp/tmp.eQq1dCBD9y ++ rm /tmp/tmp.ZKhImXOxz3 /tmp/tmp.eQq1dCBD9y ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.HU4AqJV23i ++ mktemp + local LAST_ERR=/tmp/tmp.ZQZxgALDdN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HU4AqJV23i Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("f68cf420-da8e-47e2-ba41-671b45c9610a") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.ZQZxgALDdN + rm /tmp/tmp.HU4AqJV23i /tmp/tmp.ZQZxgALDdN + return 0 + sleep 2 + write_document '' 120 + local cmp_postfix= + local sleep_value=120 + log 'write initial data, read from all' + set +o xtrace [2026-06-09T09:49:38+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FnTBYHhUHm +++ mktemp ++ local LAST_ERR=/tmp/tmp.h7Xi0fjcdr ++ 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.FnTBYHhUHm ++ cat /tmp/tmp.h7Xi0fjcdr ++ rm /tmp/tmp.FnTBYHhUHm /tmp/tmp.h7Xi0fjcdr ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.e2eN2EgfSN ++ mktemp + local LAST_ERR=/tmp/tmp.DHhOXohFZu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.e2eN2EgfSN Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8d0cc496-7078-4e2d-9ca4-495453830a61") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.DHhOXohFZu + rm /tmp/tmp.e2eN2EgfSN /tmp/tmp.DHhOXohFZu + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T09:51:41+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + grep -E -v 'I NETWORK|W 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@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wInCm0XVlx +++ mktemp ++ local LAST_ERR=/tmp/tmp.THigZXT5OV ++ 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.wInCm0XVlx ++ cat /tmp/tmp.THigZXT5OV ++ rm /tmp/tmp.wInCm0XVlx /tmp/tmp.THigZXT5OV ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.9xKc7WXdKh ++ mktemp + local LAST_ERR=/tmp/tmp.G3R4a7pMd1 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9xKc7WXdKh + cat /tmp/tmp.G3R4a7pMd1 + rm /tmp/tmp.9xKc7WXdKh /tmp/tmp.G3R4a7pMd1 + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.VU3LU7qCKk/find ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' --quiet ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match' ++ local port=27017 ++ local mongo_bin=mongo ++ cut -d. -f1 +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.vFMvBSbu6S ++++ mktemp +++ local LAST_ERR=/tmp/tmp.04dFUAaukk +++ 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.vFMvBSbu6S +++ cat /tmp/tmp.04dFUAaukk +++ rm /tmp/tmp.vFMvBSbu6S /tmp/tmp.04dFUAaukk +++ return 0 ++ local client_container=psmdb-client-bb8b97679-8bhtz ++ kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Zgwik9tiOp +++ mktemp ++ local LAST_ERR=/tmp/tmp.sX1CRxo5Pq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Zgwik9tiOp ++ cat /tmp/tmp.sX1CRxo5Pq ++ rm /tmp/tmp.Zgwik9tiOp /tmp/tmp.sX1CRxo5Pq ++ return 0 + time_now=1780998705 + check_recovery backup-minio-1 date 1780998705 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1780998705 + local cmp_postfix= + local cluster_name=some-name + local backupSource=backupSource ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.mfTXKYvktr ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4n1Q6Ml6C2 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.mfTXKYvktr +++ cat /tmp/tmp.4n1Q6Ml6C2 +++ rm /tmp/tmp.mfTXKYvktr /tmp/tmp.4n1Q6Ml6C2 +++ return 0 ++ echo 1780998666 + local latest_ts=1780998666 + desc 'write more data before restore by date' + set +o xtrace ----------------------------------------------------------------------------------- write more data before restore by date ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.OGQc1ycib8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FbmlKxpmHf ++ 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.OGQc1ycib8 ++ cat /tmp/tmp.FbmlKxpmHf ++ rm /tmp/tmp.OGQc1ycib8 /tmp/tmp.FbmlKxpmHf ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.jDrflfjEjH ++ mktemp + local LAST_ERR=/tmp/tmp.ZQ83UGrCAZ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jDrflfjEjH Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("cde94ec5-1323-4291-af43-371dcc5359a5") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.ZQ83UGrCAZ + rm /tmp/tmp.jDrflfjEjH /tmp/tmp.ZQ83UGrCAZ + return 0 + [[ -n 1780998705 ]] ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + desc 'Restoring to time 2026-06-09 09:51:45' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2026-06-09 09:51:45 ----------------------------------------------------------------------------------- + retries=0 + [[ 1780998666 -gt 1780998705 ]] + [[ 0 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.mW9wO48EEL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.uKmulzkntV +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.mW9wO48EEL +++ cat /tmp/tmp.uKmulzkntV +++ rm /tmp/tmp.mW9wO48EEL /tmp/tmp.uKmulzkntV +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=1 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.YQJFtCCya6 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.r9lzY0MXUf +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.YQJFtCCya6 +++ cat /tmp/tmp.r9lzY0MXUf +++ rm /tmp/tmp.YQJFtCCya6 /tmp/tmp.r9lzY0MXUf +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=2 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Kp3CeNzXq3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jNZfaqh9ps +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Kp3CeNzXq3 +++ cat /tmp/tmp.jNZfaqh9ps +++ rm /tmp/tmp.Kp3CeNzXq3 /tmp/tmp.jNZfaqh9ps +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=3 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.rQnP7pIX9Y ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UiJiYFUZxQ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.rQnP7pIX9Y +++ cat /tmp/tmp.UiJiYFUZxQ +++ rm /tmp/tmp.rQnP7pIX9Y /tmp/tmp.UiJiYFUZxQ +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=4 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 4 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.nuuTVKZMPv ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Rkh2iJAig7 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.nuuTVKZMPv +++ cat /tmp/tmp.Rkh2iJAig7 +++ rm /tmp/tmp.nuuTVKZMPv /tmp/tmp.Rkh2iJAig7 +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=5 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 5 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Djt7kMwTn3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.LcSX3cp8XX +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Djt7kMwTn3 +++ cat /tmp/tmp.LcSX3cp8XX +++ rm /tmp/tmp.Djt7kMwTn3 /tmp/tmp.LcSX3cp8XX +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=6 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.XspZC6v4ie ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OkYbW2mFPe +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.XspZC6v4ie +++ cat /tmp/tmp.OkYbW2mFPe +++ rm /tmp/tmp.XspZC6v4ie /tmp/tmp.OkYbW2mFPe +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=7 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.S5LKvjQSZw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.0DmL1nR95W +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.S5LKvjQSZw +++ cat /tmp/tmp.0DmL1nR95W +++ rm /tmp/tmp.S5LKvjQSZw /tmp/tmp.0DmL1nR95W +++ return 0 ++ echo 1780998666 + latest_ts=1780998666 + retries=8 ++ format_date 1780998666 ++ local timestamp=1780998666 +++ TZ=UTC +++ /usr/sbin/date -d@1780998666 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:51:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998666 -gt 1780998705 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.roh2MOQ5Tw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OkwpE8aCqQ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.roh2MOQ5Tw +++ cat /tmp/tmp.OkwpE8aCqQ +++ rm /tmp/tmp.roh2MOQ5Tw /tmp/tmp.OkwpE8aCqQ +++ return 0 ++ echo 1780998786 + latest_ts=1780998786 + retries=9 ++ format_date 1780998786 ++ local timestamp=1780998786 +++ TZ=UTC +++ /usr/sbin/date -d@1780998786 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:06 ++ format_date 1780998705 ++ local timestamp=1780998705 +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:51:45 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:06) to be greater than restore target (2026-06-09 09:51:45)' Waiting for last oplog chunk (2026-06-09 09:53:06) to be greater than restore target (2026-06-09 09:51:45) + sleep 10 + [[ 1780998786 -gt 1780998705 ]] + '[' -z backupSource ']' + desc 'check restore by date backupSource' + set +o xtrace ----------------------------------------------------------------------------------- check restore by date backupSource ----------------------------------------------------------------------------------- ++ get_backup_dest backup-minio-1 ++ local backup_name=backup-minio-1 ++ sed -e 's/.json$//' ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.destination}' ++ sed 's|s3://||' ++ sed 's|azure://||' ++ sed 's|gs://||' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7tQSsjWqo6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.ej0iDUDjbx ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7tQSsjWqo6 ++ cat /tmp/tmp.ej0iDUDjbx ++ rm /tmp/tmp.7tQSsjWqo6 /tmp/tmp.ej0iDUDjbx ++ return 0 + backup_dest=operator-testing/2026-06-09T09:46:28Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-1/' + /usr/sbin/sed -e /backupName/d + '[' -z 1780998705 ']' ++ format_date 1780998705 + '[' -n '' ']' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-06-09T09:46:28Z|' + kubectl_bin apply -f - + yq ++ local timestamp=1780998705 + /usr/sbin/sed -e 's/pitrType:/type: date/' ++ mktemp +++ TZ=UTC +++ /usr/sbin/date -d@1780998705 '+%Y-%m-%d %H:%M:%S' ++ get_bucket_name backup-minio-1 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' + local LAST_OUT=/tmp/tmp.FVALHenQCQ ++ echo 2026-06-09 09:51:45 +++ mktemp ++ mktemp + /usr/sbin/sed -e 's/date:/date: 2026-06-09 09:51:45/' ++ local LAST_OUT=/tmp/tmp.P3MUn512v1 + local LAST_ERR=/tmp/tmp.4PB7NqizlV + local exit_status=0 + local timeout=4 ++ seq 0 2 +++ mktemp + for i in $(seq 0 2) + set +e ++ local LAST_ERR=/tmp/tmp.8EBC1ZNbeY + kubectl apply -f - ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.P3MUn512v1 ++ cat /tmp/tmp.8EBC1ZNbeY ++ rm /tmp/tmp.P3MUn512v1 /tmp/tmp.8EBC1ZNbeY ++ return 0 + /usr/sbin/sed -e 's|BUCKET-NAME|operator-testing|' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FVALHenQCQ perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.4PB7NqizlV + rm /tmp/tmp.FVALHenQCQ /tmp/tmp.4PB7NqizlV + return 0 + wait_restore backup-minio-1 some-name requested 0 1200 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be created.OK Waiting psmdb-restore/restore-backup-minio-1 to reach state "requested" .........OK after 8 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-1 some-name ready 0 1600 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be created.OK Waiting psmdb-restore/restore-backup-minio-1 to reach state "ready" ...OK after 2 minutes + [[ 0 -eq 1 ]] + echo + set -o xtrace + 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.CiNHglJEuD +++ mktemp ++ local LAST_ERR=/tmp/tmp.qDl2O6TWZx ++ 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.CiNHglJEuD ++ cat /tmp/tmp.qDl2O6TWZx ++ rm /tmp/tmp.CiNHglJEuD /tmp/tmp.qDl2O6TWZx ++ return 0 + [[ '' == true ]] + 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.SdeHyne8a9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.H2w0xZX8Er ++ 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.SdeHyne8a9 ++ cat /tmp/tmp.H2w0xZX8Er ++ rm /tmp/tmp.SdeHyne8a9 /tmp/tmp.H2w0xZX8Er ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0mcCaU3rIx +++ mktemp ++ local LAST_ERR=/tmp/tmp.jIMoXZ5Tei ++ 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.0mcCaU3rIx ++ cat /tmp/tmp.jIMoXZ5Tei ++ rm /tmp/tmp.0mcCaU3rIx /tmp/tmp.jIMoXZ5Tei ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness........................................................... + wait_for_running some-name-cfg 3 + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=true + 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.w5YMqieTMJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.0g9yAdLEHX ++ 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.w5YMqieTMJ ++ cat /tmp/tmp.0g9yAdLEHX ++ rm /tmp/tmp.w5YMqieTMJ /tmp/tmp.0g9yAdLEHX ++ return 0 + [[ '' == true ]] + 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.DKhjtSryUf +++ mktemp ++ local LAST_ERR=/tmp/tmp.rqV4lskMiJ ++ 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.DKhjtSryUf ++ cat /tmp/tmp.rqV4lskMiJ ++ rm /tmp/tmp.DKhjtSryUf /tmp/tmp.rqV4lskMiJ ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Y9rWUnZb5n +++ mktemp ++ local LAST_ERR=/tmp/tmp.rtf0DdMBPD ++ 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.Y9rWUnZb5n ++ cat /tmp/tmp.rtf0DdMBPD ++ rm /tmp/tmp.Y9rWUnZb5n /tmp/tmp.rtf0DdMBPD ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + 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.vtgdk9vWNk +++ mktemp ++ local LAST_ERR=/tmp/tmp.zaPFP37SM9 ++ 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.vtgdk9vWNk ++ cat /tmp/tmp.zaPFP37SM9 ++ rm /tmp/tmp.vtgdk9vWNk /tmp/tmp.zaPFP37SM9 ++ return 0 + [[ '' == true ]] + 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.SfsqtKYjvW +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZmgLCvRqkC ++ 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.SfsqtKYjvW ++ cat /tmp/tmp.ZmgLCvRqkC ++ rm /tmp/tmp.SfsqtKYjvW /tmp/tmp.ZmgLCvRqkC ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nIQZAdLqfn +++ mktemp ++ local LAST_ERR=/tmp/tmp.sLKk9TOwVP ++ 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.nIQZAdLqfn ++ cat /tmp/tmp.sLKk9TOwVP ++ rm /tmp/tmp.nIQZAdLqfn /tmp/tmp.sLKk9TOwVP ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 '' + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T10:07:47+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + grep -E -v 'I NETWORK|W 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@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HK2BmpgMJN +++ mktemp ++ local LAST_ERR=/tmp/tmp.lP9hXxyGRP ++ 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.HK2BmpgMJN ++ cat /tmp/tmp.lP9hXxyGRP ++ rm /tmp/tmp.HK2BmpgMJN /tmp/tmp.lP9hXxyGRP ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.vFt5ISJdio ++ mktemp + local LAST_ERR=/tmp/tmp.dHa40BjVsk + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vFt5ISJdio + cat /tmp/tmp.dHa40BjVsk + rm /tmp/tmp.vFt5ISJdio /tmp/tmp.dHa40BjVsk + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.VU3LU7qCKk/find + desc 'delete PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster some-name ----------------------------------------------------------------------------------- + kubectl_bin delete psmdb some-name ++ mktemp + local LAST_OUT=/tmp/tmp.zW7Ga3KAGA ++ mktemp + local LAST_ERR=/tmp/tmp.ZnASHIJHVs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb some-name + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zW7Ga3KAGA perconaservermongodb.psmdb.percona.com "some-name" deleted from pitr-physical-backup-source-2456 namespace + cat /tmp/tmp.ZnASHIJHVs + rm /tmp/tmp.zW7Ga3KAGA /tmp/tmp.ZnASHIJHVs + return 0 + kubectl_bin delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.3yYUEamCPC ++ mktemp + local LAST_ERR=/tmp/tmp.cxysmPfEMt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3yYUEamCPC persistentvolumeclaim "mongod-data-some-name-cfg-0" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-cfg-1" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-cfg-2" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs0-0" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs0-1" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs0-2" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs1-0" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs1-1" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs1-2" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs2-0" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs2-1" deleted from pitr-physical-backup-source-2456 namespace persistentvolumeclaim "mongod-data-some-name-rs2-2" deleted from pitr-physical-backup-source-2456 namespace + cat /tmp/tmp.cxysmPfEMt + rm /tmp/tmp.3yYUEamCPC /tmp/tmp.cxysmPfEMt + return 0 + sleep 10 + desc 'recreate PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- recreate PSMDB cluster some-name ----------------------------------------------------------------------------------- + desc 'create second PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create second PSMDB cluster some-name ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml ++ 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-2058-fb8cc7187"' + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_OUT=/tmp/tmp.nxyfgueDZk + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-2456/g + yq eval '.spec.upgradeOptions.apply="Never"' ++ mktemp + local LAST_ERR=/tmp/tmp.P16M3PJWPj + 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.nxyfgueDZk perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.P16M3PJWPj + rm /tmp/tmp.nxyfgueDZk /tmp/tmp.P16M3PJWPj + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + 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.L0t1JcNPEn +++ mktemp ++ local LAST_ERR=/tmp/tmp.BXBFZbQOBV ++ 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.L0t1JcNPEn ++ cat /tmp/tmp.BXBFZbQOBV ++ rm /tmp/tmp.L0t1JcNPEn /tmp/tmp.BXBFZbQOBV ++ return 0 + [[ '' == true ]] + 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.D8BBz0OxyT +++ mktemp ++ local LAST_ERR=/tmp/tmp.YUYa6IiKIx ++ 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.D8BBz0OxyT ++ cat /tmp/tmp.YUYa6IiKIx ++ rm /tmp/tmp.D8BBz0OxyT /tmp/tmp.YUYa6IiKIx ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Jgi7lt0QHm +++ mktemp ++ local LAST_ERR=/tmp/tmp.dmuzOjrDgr ++ 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.Jgi7lt0QHm ++ cat /tmp/tmp.dmuzOjrDgr ++ rm /tmp/tmp.Jgi7lt0QHm /tmp/tmp.dmuzOjrDgr ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + 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.llcpQWVRqJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.6KcPSAdAEv ++ 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.llcpQWVRqJ ++ cat /tmp/tmp.6KcPSAdAEv ++ rm /tmp/tmp.llcpQWVRqJ /tmp/tmp.6KcPSAdAEv ++ return 0 + [[ '' == true ]] + 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.J2ZGqoYWt7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.me9Fdm83Ng ++ 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.J2ZGqoYWt7 ++ cat /tmp/tmp.me9Fdm83Ng ++ rm /tmp/tmp.J2ZGqoYWt7 /tmp/tmp.me9Fdm83Ng ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rO28CSYY1b +++ mktemp ++ local LAST_ERR=/tmp/tmp.UvRzSVleqJ ++ 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.rO28CSYY1b ++ cat /tmp/tmp.UvRzSVleqJ ++ rm /tmp/tmp.rO28CSYY1b /tmp/tmp.UvRzSVleqJ ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_for_running some-name-rs1 3 + local name=some-name-rs1 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs1 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs1-0 + local pod=some-name-rs1-0 + set +o xtrace waiting for pod/some-name-rs1-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs1-1 + local pod=some-name-rs1-1 + set +o xtrace waiting for pod/some-name-rs1-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=="rs1")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FKa2d1eHzH +++ mktemp ++ local LAST_ERR=/tmp/tmp.Wl8ZVIDg2e ++ 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=="rs1")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FKa2d1eHzH ++ cat /tmp/tmp.Wl8ZVIDg2e ++ rm /tmp/tmp.FKa2d1eHzH /tmp/tmp.Wl8ZVIDg2e ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs1-2 + local pod=some-name-rs1-2 + set +o xtrace waiting for pod/some-name-rs1-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Q8aTMwp6ys +++ mktemp ++ local LAST_ERR=/tmp/tmp.TMdTZJx9RM ++ 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=="rs1")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Q8aTMwp6ys ++ cat /tmp/tmp.TMdTZJx9RM ++ rm /tmp/tmp.Q8aTMwp6ys /tmp/tmp.TMdTZJx9RM ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.McMujdrAzW +++ mktemp ++ local LAST_ERR=/tmp/tmp.6UzGTqpr8v ++ 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=="rs1")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.McMujdrAzW ++ cat /tmp/tmp.6UzGTqpr8v ++ rm /tmp/tmp.McMujdrAzW /tmp/tmp.6UzGTqpr8v ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + wait_for_running some-name-rs2 3 + local name=some-name-rs2 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs2 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs2-0 + local pod=some-name-rs2-0 + set +o xtrace waiting for pod/some-name-rs2-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs2-1 + local pod=some-name-rs2-1 + set +o xtrace waiting for pod/some-name-rs2-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=="rs2")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5dWZd0aaDm +++ mktemp ++ local LAST_ERR=/tmp/tmp.9Vrh87qY7F ++ 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=="rs2")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5dWZd0aaDm ++ cat /tmp/tmp.9Vrh87qY7F ++ rm /tmp/tmp.5dWZd0aaDm /tmp/tmp.9Vrh87qY7F ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs2-2 + local pod=some-name-rs2-2 + set +o xtrace waiting for pod/some-name-rs2-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yHZuvyYJBB +++ mktemp ++ local LAST_ERR=/tmp/tmp.4Mq2NjIg1n ++ 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=="rs2")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yHZuvyYJBB ++ cat /tmp/tmp.4Mq2NjIg1n ++ rm /tmp/tmp.yHZuvyYJBB /tmp/tmp.4Mq2NjIg1n ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.m390DUvhaJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.9QUOeikfdp ++ 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=="rs2")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.m390DUvhaJ ++ cat /tmp/tmp.9QUOeikfdp ++ rm /tmp/tmp.m390DUvhaJ /tmp/tmp.9QUOeikfdp ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + sleep 10 + write_initial_data + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ELrR3h60NE +++ mktemp ++ local LAST_ERR=/tmp/tmp.F66yFZt5Bm ++ 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.ELrR3h60NE ++ cat /tmp/tmp.F66yFZt5Bm ++ rm /tmp/tmp.ELrR3h60NE /tmp/tmp.F66yFZt5Bm ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ix4g4sXNcp ++ mktemp + local LAST_ERR=/tmp/tmp.gfr2ibWrlp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ix4g4sXNcp Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("11e381e2-5a6c-4973-a83e-87d1b1a98b2a") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.gfr2ibWrlp + rm /tmp/tmp.ix4g4sXNcp /tmp/tmp.gfr2ibWrlp + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-06-09T10:12:46+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.57yhos5SR4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FBLOQ7R2MX ++ 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.57yhos5SR4 ++ cat /tmp/tmp.FBLOQ7R2MX ++ rm /tmp/tmp.57yhos5SR4 /tmp/tmp.FBLOQ7R2MX ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.iOydVP9RAF ++ mktemp + local LAST_ERR=/tmp/tmp.bBD4LCxmam + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.iOydVP9RAF Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("ef523676-4c46-43af-b9e0-5efc5d8ab4c5") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.bBD4LCxmam + rm /tmp/tmp.iOydVP9RAF /tmp/tmp.bBD4LCxmam + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T10:12:49+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + grep -E -v 'I NETWORK|W 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/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.P438hX3SHc +++ mktemp ++ local LAST_ERR=/tmp/tmp.o23pc2brId ++ 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.P438hX3SHc ++ cat /tmp/tmp.o23pc2brId ++ rm /tmp/tmp.P438hX3SHc /tmp/tmp.o23pc2brId ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.tt9EEzrZeg ++ mktemp + local LAST_ERR=/tmp/tmp.XYhtD5NqHO + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tt9EEzrZeg + cat /tmp/tmp.XYhtD5NqHO + rm /tmp/tmp.tt9EEzrZeg /tmp/tmp.XYhtD5NqHO + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.VU3LU7qCKk/find + desc 'restore pitr type latest using backupSource' + set +o xtrace ----------------------------------------------------------------------------------- restore pitr type latest using backupSource ----------------------------------------------------------------------------------- + write_document -2nd + local cmp_postfix=-2nd + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-06-09T10:12:52+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tWLdEbbBfk +++ mktemp ++ local LAST_ERR=/tmp/tmp.aBokiJBAhT ++ 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.tWLdEbbBfk ++ cat /tmp/tmp.aBokiJBAhT ++ rm /tmp/tmp.tWLdEbbBfk /tmp/tmp.aBokiJBAhT ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Nn2kiPYOkH ++ mktemp + local LAST_ERR=/tmp/tmp.58STFt0qXc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Nn2kiPYOkH Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("51008a5e-2e33-4b78-a428-c99c1c55645b") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.58STFt0qXc + rm /tmp/tmp.Nn2kiPYOkH /tmp/tmp.58STFt0qXc + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T10:12:54+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + grep -E -v 'I NETWORK|W 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/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rPtiV2u0xu +++ mktemp ++ local LAST_ERR=/tmp/tmp.WgBi5egxAT ++ 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.rPtiV2u0xu ++ cat /tmp/tmp.WgBi5egxAT ++ rm /tmp/tmp.rPtiV2u0xu /tmp/tmp.WgBi5egxAT ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.dZqpGiUZyP ++ mktemp + local LAST_ERR=/tmp/tmp.ScgFNrXu5n + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dZqpGiUZyP + cat /tmp/tmp.ScgFNrXu5n + rm /tmp/tmp.dZqpGiUZyP /tmp/tmp.ScgFNrXu5n + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find-2nd.json /tmp/tmp.VU3LU7qCKk/find-2nd + run_backup backup-minio 2 physical + local name=backup-minio + local idx=2 + local type=physical + desc 'run backup backup-minio-2' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-2 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/backup-minio.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-2/' + /usr/sbin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.DU9DF2wuBy ++ mktemp + local LAST_ERR=/tmp/tmp.TGjW2f2Z90 + 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.DU9DF2wuBy perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.TGjW2f2Z90 + rm /tmp/tmp.DU9DF2wuBy /tmp/tmp.TGjW2f2Z90 + return 0 + wait_backup backup-minio-2 + local backup_name=backup-minio-2 + local target_state=ready + set +o xtrace waiting for backup-minio-2 to reach ready state.........OK + compare_latest_restorable_time some-name-rs0 backup-minio-2 + local cluster=some-name-rs0 + local backup_name=backup-minio-2 + local latest_restorable_time + local backup_time ++ get_latest_restorable_time some-name-rs0 ++ local cluster=some-name-rs0 ++ local first_timestamp ++ local second_timestamp ++ local retry=0 ++ [[ '' != '' ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lx0m39fLcV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Lzy12Gzghj +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lx0m39fLcV +++ cat /tmp/tmp.Lzy12Gzghj +++ rm /tmp/tmp.lx0m39fLcV /tmp/tmp.Lzy12Gzghj +++ return 0 ++ first_timestamp=1780998838 ++ sleep 5 ++ [[ 1780998838 != '' ]] ++ [[ 1780998838 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.45OMJOANFf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.t0KD9UOfJb +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.45OMJOANFf +++ cat /tmp/tmp.t0KD9UOfJb +++ rm /tmp/tmp.45OMJOANFf /tmp/tmp.t0KD9UOfJb +++ return 0 ++ second_timestamp=1780998838 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1780998838 != '' ]] ++ [[ 1780998838 != null ]] ++ [[ 1780998838 == 1780998838 ]] ++ /usr/sbin/date -u -d @1780998838 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-06-09T09:53:58Z ++ get_latest_restorable_time_from_backup_object backup-minio-2 ++ local backup_name=backup-minio-2 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.VFMb2oBsfe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.dRr36MDR3z +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb-backup backup-minio-2 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.VFMb2oBsfe +++ cat /tmp/tmp.dRr36MDR3z +++ rm /tmp/tmp.VFMb2oBsfe /tmp/tmp.dRr36MDR3z +++ return 0 ++ latestRestorableTime=2026-06-09T09:53:58Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-06-09T09:53:58Z != '' ]] ++ [[ 2026-06-09T09:53:58Z != null ]] ++ echo 2026-06-09T09:53:58Z + backup_time=2026-06-09T09:53:58Z + [[ 2026-06-09T09:53:58Z != 2026\-06\-09T09\:53\:58Z ]] + check_recovery backup-minio-2 latest '' -3rd some-name backupSource + local backup_name=backup-minio-2 + local restore_type=latest + local restore_date= + local cmp_postfix=-3rd + local cluster_name=some-name + local backupSource=backupSource ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.GhVx84wqeL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Ob8RNa7Sds +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.GhVx84wqeL +++ cat /tmp/tmp.Ob8RNa7Sds +++ rm /tmp/tmp.GhVx84wqeL /tmp/tmp.Ob8RNa7Sds +++ return 0 ++ echo 1780998838 + local latest_ts=1780998838 + desc 'write more data before restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- write more data before restore by latest ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kQGbdk0ZtV +++ mktemp ++ local LAST_ERR=/tmp/tmp.0DTuffpZk4 ++ 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.kQGbdk0ZtV ++ cat /tmp/tmp.0DTuffpZk4 ++ rm /tmp/tmp.kQGbdk0ZtV /tmp/tmp.0DTuffpZk4 ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Zb82IvjPkQ ++ mktemp + local LAST_ERR=/tmp/tmp.0sjpluEyB7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Zb82IvjPkQ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("25ffc9fc-a6ae-4416-be7b-d1b5a1573652") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.0sjpluEyB7 + rm /tmp/tmp.Zb82IvjPkQ /tmp/tmp.0sjpluEyB7 + return 0 + [[ -n '' ]] + desc 'Restoring to latest' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to latest ----------------------------------------------------------------------------------- ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.sCl1eHy54C ++++ mktemp +++ local LAST_ERR=/tmp/tmp.vYfLE8G4Kr +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.sCl1eHy54C +++ cat /tmp/tmp.vYfLE8G4Kr +++ rm /tmp/tmp.sCl1eHy54C /tmp/tmp.vYfLE8G4Kr +++ return 0 ++ echo 1780998838 + local current_ts=1780998838 + retries=0 + [[ 1780998838 -gt 1780998838 ]] + [[ 0 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.7EVqnk6g2q ++++ mktemp +++ local LAST_ERR=/tmp/tmp.6xEigLY38p +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.7EVqnk6g2q +++ cat /tmp/tmp.6xEigLY38p +++ rm /tmp/tmp.7EVqnk6g2q /tmp/tmp.6xEigLY38p +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=1 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.rbRWQavdg9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nEWiwklE8K +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.rbRWQavdg9 +++ cat /tmp/tmp.nEWiwklE8K +++ rm /tmp/tmp.rbRWQavdg9 /tmp/tmp.nEWiwklE8K +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=2 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.QTXcBHBcAo ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5P6FQ8nQZU +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.QTXcBHBcAo +++ cat /tmp/tmp.5P6FQ8nQZU +++ rm /tmp/tmp.QTXcBHBcAo /tmp/tmp.5P6FQ8nQZU +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=3 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pt6bD9LsoX ++++ mktemp +++ local LAST_ERR=/tmp/tmp.CI6s55cz6m +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.pt6bD9LsoX +++ cat /tmp/tmp.CI6s55cz6m +++ rm /tmp/tmp.pt6bD9LsoX /tmp/tmp.CI6s55cz6m +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=4 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 4 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.fra08wVtKX ++++ mktemp +++ local LAST_ERR=/tmp/tmp.InimbbqnBq +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.fra08wVtKX +++ cat /tmp/tmp.InimbbqnBq +++ rm /tmp/tmp.fra08wVtKX /tmp/tmp.InimbbqnBq +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=5 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 5 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.8thjgaDTDb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.7MoYfQnmS9 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.8thjgaDTDb +++ cat /tmp/tmp.7MoYfQnmS9 +++ rm /tmp/tmp.8thjgaDTDb /tmp/tmp.7MoYfQnmS9 +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=6 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.jn3uYiAuHe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EFRNvFqjNg +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.jn3uYiAuHe +++ cat /tmp/tmp.EFRNvFqjNg +++ rm /tmp/tmp.jn3uYiAuHe /tmp/tmp.EFRNvFqjNg +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=7 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.aLFJHJvMhW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XNE2K8aArX +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.aLFJHJvMhW +++ cat /tmp/tmp.XNE2K8aArX +++ rm /tmp/tmp.aLFJHJvMhW /tmp/tmp.XNE2K8aArX +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=8 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.qTbwCkYUl7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5GGZUBC611 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.qTbwCkYUl7 +++ cat /tmp/tmp.5GGZUBC611 +++ rm /tmp/tmp.qTbwCkYUl7 /tmp/tmp.5GGZUBC611 +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=9 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 9 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.fFm81QnswE ++++ mktemp +++ local LAST_ERR=/tmp/tmp.SucRg1r2t3 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.fFm81QnswE +++ cat /tmp/tmp.SucRg1r2t3 +++ rm /tmp/tmp.fFm81QnswE /tmp/tmp.SucRg1r2t3 +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=10 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 10 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lqBCqTszyT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.oebIK2YJki +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lqBCqTszyT +++ cat /tmp/tmp.oebIK2YJki +++ rm /tmp/tmp.lqBCqTszyT /tmp/tmp.oebIK2YJki +++ return 0 ++ echo 1780998838 + latest_ts=1780998838 + retries=11 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 09:53:58) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1780998838 -gt 1780998838 ]] + [[ 11 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.eEQwKoPQ70 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ssuVhDJpnL +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.eEQwKoPQ70 +++ cat /tmp/tmp.ssuVhDJpnL +++ rm /tmp/tmp.eEQwKoPQ70 /tmp/tmp.ssuVhDJpnL +++ return 0 ++ echo 1781000130 + latest_ts=1781000130 + retries=12 ++ format_date 1781000130 ++ local timestamp=1781000130 +++ TZ=UTC +++ /usr/sbin/date -d@1781000130 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 10:15:30 ++ format_date 1780998838 ++ local timestamp=1780998838 +++ TZ=UTC +++ /usr/sbin/date -d@1780998838 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-06-09 09:53:58 + echo 'Waiting for last oplog chunk (2026-06-09 10:15:30) to be 120 seconds older than starting chunk (2026-06-09 09:53:58)' Waiting for last oplog chunk (2026-06-09 10:15:30) to be 120 seconds older than starting chunk (2026-06-09 09:53:58) + sleep 10 + [[ 1781000130 -gt 1780998838 ]] + '[' -z backupSource ']' + desc 'check restore by latest backupSource' + set +o xtrace ----------------------------------------------------------------------------------- check restore by latest backupSource ----------------------------------------------------------------------------------- ++ get_backup_dest backup-minio-2 ++ local backup_name=backup-minio-2 ++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' +++ mktemp ++ sed 's|azure://||' ++ sed 's|gs://||' ++ local LAST_OUT=/tmp/tmp.i7lJpIFZ9l +++ mktemp ++ local LAST_ERR=/tmp/tmp.yuCdIOFkyB ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-2 -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.i7lJpIFZ9l ++ cat /tmp/tmp.yuCdIOFkyB ++ rm /tmp/tmp.i7lJpIFZ9l /tmp/tmp.yuCdIOFkyB ++ return 0 + backup_dest=operator-testing/2026-06-09T10:12:59Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-2/' + /usr/sbin/sed -e /backupName/d + /usr/sbin/sed -e 's/pitrType:/type: latest/' + '[' -z '' ']' + /usr/sbin/sed -e /date:/d + '[' -n '' ']' + yq ++ get_bucket_name backup-minio-2 ++ local backup_name=backup-minio-2 ++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.s3.bucket}' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-06-09T10:12:59Z|' +++ mktemp + kubectl_bin apply -f - ++ mktemp ++ local LAST_OUT=/tmp/tmp.JEbMYLIqH1 + local LAST_OUT=/tmp/tmp.JTR4UXTk9Z +++ mktemp ++ mktemp ++ local LAST_ERR=/tmp/tmp.IZiblp1qn5 ++ local exit_status=0 ++ local timeout=4 + local LAST_ERR=/tmp/tmp.sHXTccVZDc + local exit_status=0 + local timeout=4 +++ seq 0 2 ++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-2 -o 'jsonpath={.status.s3.bucket}' + 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.JEbMYLIqH1 ++ cat /tmp/tmp.IZiblp1qn5 ++ rm /tmp/tmp.JEbMYLIqH1 /tmp/tmp.IZiblp1qn5 ++ return 0 + /usr/sbin/sed -e 's|BUCKET-NAME|operator-testing|' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JTR4UXTk9Z perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-2 created + cat /tmp/tmp.sHXTccVZDc + rm /tmp/tmp.JTR4UXTk9Z /tmp/tmp.sHXTccVZDc + return 0 + wait_restore backup-minio-2 some-name requested 0 1200 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be created.OK Waiting psmdb-restore/restore-backup-minio-2 to reach state "requested" .........OK after 8 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-2 some-name ready 0 1600 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be created.OK Waiting psmdb-restore/restore-backup-minio-2 to reach state "ready" ...OK after 2 minutes + [[ 0 -eq 1 ]] + echo + set -o xtrace + 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.39zZfKfWDt +++ mktemp ++ local LAST_ERR=/tmp/tmp.f5zSDkzLPp ++ 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.39zZfKfWDt ++ cat /tmp/tmp.f5zSDkzLPp ++ rm /tmp/tmp.39zZfKfWDt /tmp/tmp.f5zSDkzLPp ++ return 0 + [[ '' == true ]] + 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.qeIkU650h6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Oz3g4qsJjK ++ 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.qeIkU650h6 ++ cat /tmp/tmp.Oz3g4qsJjK ++ rm /tmp/tmp.qeIkU650h6 /tmp/tmp.Oz3g4qsJjK ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LyORm1ts4O +++ mktemp ++ local LAST_ERR=/tmp/tmp.d6RU9QszIN ++ 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.LyORm1ts4O ++ cat /tmp/tmp.d6RU9QszIN ++ rm /tmp/tmp.LyORm1ts4O /tmp/tmp.d6RU9QszIN ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness..................................................................... + wait_for_running some-name-cfg 3 + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=true + 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.u6TBZmdlao +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZM29wliIwS ++ 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.u6TBZmdlao ++ cat /tmp/tmp.ZM29wliIwS ++ rm /tmp/tmp.u6TBZmdlao /tmp/tmp.ZM29wliIwS ++ return 0 + [[ '' == true ]] + 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.3YUbeOiqbI +++ mktemp ++ local LAST_ERR=/tmp/tmp.xaMLTyThyV ++ 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.3YUbeOiqbI ++ cat /tmp/tmp.xaMLTyThyV ++ rm /tmp/tmp.3YUbeOiqbI /tmp/tmp.xaMLTyThyV ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NLu1xgKZbb +++ mktemp ++ local LAST_ERR=/tmp/tmp.3hYLpNS1mV ++ 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.NLu1xgKZbb ++ cat /tmp/tmp.3hYLpNS1mV ++ rm /tmp/tmp.NLu1xgKZbb /tmp/tmp.3hYLpNS1mV ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + 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.uDqMspTzmH +++ mktemp ++ local LAST_ERR=/tmp/tmp.SKzudBTs5H ++ 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.uDqMspTzmH ++ cat /tmp/tmp.SKzudBTs5H ++ rm /tmp/tmp.uDqMspTzmH /tmp/tmp.SKzudBTs5H ++ return 0 + [[ '' == true ]] + 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.XrDkNtnT9u +++ mktemp ++ local LAST_ERR=/tmp/tmp.f22ElNm49T ++ 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.XrDkNtnT9u ++ cat /tmp/tmp.f22ElNm49T ++ rm /tmp/tmp.XrDkNtnT9u /tmp/tmp.f22ElNm49T ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AJ5Ig89cmh +++ mktemp ++ local LAST_ERR=/tmp/tmp.wo5wxIdbJY ++ 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.AJ5Ig89cmh ++ cat /tmp/tmp.wo5wxIdbJY ++ rm /tmp/tmp.AJ5Ig89cmh /tmp/tmp.wo5wxIdbJY ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 -3rd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 + local postfix=-3rd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T10:30:10+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456 mongodb '' '' 27017 + grep -E -v 'I NETWORK|W 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@some-name-mongos.pitr-physical-backup-source-2456 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.J3mTzZHUK4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.1SRhbv6RbF ++ 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.J3mTzZHUK4 ++ cat /tmp/tmp.1SRhbv6RbF ++ rm /tmp/tmp.J3mTzZHUK4 /tmp/tmp.1SRhbv6RbF ++ return 0 + local client_container=psmdb-client-bb8b97679-8bhtz + kubectl_bin exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.jXdw2Kc0Gr ++ mktemp + local LAST_ERR=/tmp/tmp.YQa7ltaezK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-8bhtz -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-2456.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jXdw2Kc0Gr + cat /tmp/tmp.YQa7ltaezK + rm /tmp/tmp.jXdw2Kc0Gr /tmp/tmp.YQa7ltaezK + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/pitr-physical-backup-source/compare/find-3rd.json /tmp/tmp.VU3LU7qCKk/find-3rd + desc 'disable pitr' + set +o xtrace ----------------------------------------------------------------------------------- disable pitr ----------------------------------------------------------------------------------- + kubectl patch psmdb some-name --type=merge --patch '{"spec": {"backup": {"pitr": {"enabled": false}}}}' perconaservermongodb.psmdb.percona.com/some-name patched + sleep 20 + desc 'delete all backups' + set +o xtrace ----------------------------------------------------------------------------------- delete all backups ----------------------------------------------------------------------------------- + kubectl_bin delete psmdb-backup --all ++ mktemp + local LAST_OUT=/tmp/tmp.JAi3tAURIQ ++ mktemp + local LAST_ERR=/tmp/tmp.qx6m2hEPqS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb-backup --all + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JAi3tAURIQ perconaservermongodbbackup.psmdb.percona.com "backup-minio-1" deleted from pitr-physical-backup-source-2456 namespace perconaservermongodbbackup.psmdb.percona.com "backup-minio-2" deleted from pitr-physical-backup-source-2456 namespace + cat /tmp/tmp.qx6m2hEPqS + rm /tmp/tmp.JAi3tAURIQ /tmp/tmp.qx6m2hEPqS + return 0 + desc 'destroy cluster' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster ----------------------------------------------------------------------------------- + destroy pitr-physical-backup-source-2456 + local namespace=pitr-physical-backup-source-2456 + local ignore_logs=true + [[ 1 == 1 ]] + echo 'SKIP_DELETE=1, not destroying pitr-physical-backup-source-2456' SKIP_DELETE=1, not destroying pitr-physical-backup-source-2456 + return + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed -----------------------------------------------------------------------------------