which: no gsed in (/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin) mkdir -p e2e-tests/reports e2e-tests/logs ========================================================================================= test session starts ========================================================================================== platform linux -- Python 3.14.5, pytest-9.1.1, pluggy-1.6.0 -- /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/.venv/bin/python cachedir: .pytest_cache metadata: {'Python': '3.14.5', 'Platform': 'Linux-6.18.3-200.fc43.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.1.1', 'pluggy': '1.6.0'}, 'Plugins': {'dependency': '0.6.1', 'json-report': '1.5.0', 'metadata': '3.1.1', 'html': '4.2.0'}, 'CI': 'true', 'BUILD_NUMBER': '3', 'BUILD_ID': '3', 'BUILD_URL': 'https://cloud.cd.percona.com/job/cloud-psmdb-operator/job/PR-2491/3/', 'NODE_NAME': 'hcloud-tfqjtxqnhrf6stbu', 'JOB_NAME': 'cloud-psmdb-operator/PR-2491', 'BUILD_TAG': 'jenkins-cloud-psmdb-operator-PR-2491-3', 'EXECUTOR_NUMBER': '0', 'JENKINS_URL': 'https://cloud.cd.percona.com/', 'WORKSPACE': '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491', 'GIT_COMMIT': '6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a', 'GIT_URL': 'https://github.com/percona/percona-server-mongodb-operator.git', 'GIT_BRANCH': 'PR-2491'} rootdir: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491 configfile: pyproject.toml plugins: dependency-0.6.1, json-report-1.5.0, metadata-3.1.1, html-4.2.0 collecting ... collected 1 item e2e-tests/test_pytest_wrapper.py::test_bash_wrapper[pitr-physical-backup-source] [20:03:35.730027] WARNING kubectl error: Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 [20:03:37.032482] INFO Environment variables: KUBE_VERSION=1.33 PLATFORM=gke ARCH= EKS= GKE=1 AKS= OPENSHIFT= KIND= MINIKUBE= RANCHER= API=psmdb.percona.com/v1 REGISTRY_NAME=docker.io GIT_COMMIT=6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a GIT_BRANCH=PR-2491 OPERATOR_VERSION=1.24.0 IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_MONGOD_CHAIN=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_SEARCH=docker.io/perconalab/percona-server-mongodb-operator:main-mongot IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 IMAGE_PMM_SERVER=docker.io/perconalab/pmm-server:dev-latest IMAGE_PMM3_CLIENT=docker.io/perconalab/pmm-client:3-dev-latest IMAGE_PMM3_SERVER=docker.io/perconalab/pmm-server:3-dev-latest IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector IMAGE_CLUSTERSYNC=docker.io/percona/percona-clustersync-mongodb:0.9.0 IMAGE_AWS_CLI=docker.io/amazon/aws-cli:2.34.60 CERT_MANAGER_VER=1.21.0 CHAOS_MESH_VER=2.7.1 MINIO_VER=5.4.0 PMM_SERVER_VER=9.9.9 CLEAN_NAMESPACE=1 DELETE_CRD_ON_START=1 SKIP_DELETE=0 SKIP_BACKUPS_TO_AWS_GCP_AZURE= UPDATE_COMPARE_FILES=0 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Debug logging disabled. + main + create_infra pitr-physical-backup-source-5591 + local ns=pitr-physical-backup-source-5591 + echo pitr-physical-backup-source-5591 + [[ 1 == 1 ]] + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.v5z84QNKYu ++ mktemp + local LAST_ERR=/tmp/tmp.gNlIip1Y92 + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml' '--ignore-not-found' '--wait=false') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v5z84QNKYu + cat /tmp/tmp.gNlIip1Y92 + rm /tmp/tmp.v5z84QNKYu /tmp/tmp.gNlIip1Y92 + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.YPcHGUZG8u ++ mktemp + local LAST_ERR=/tmp/tmp.wB7boNhvRW + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbbackups.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.YPcHGUZG8u + cat /tmp/tmp.wB7boNhvRW + rm /tmp/tmp.YPcHGUZG8u /tmp/tmp.wB7boNhvRW + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbclustersyncs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + : + kubectl_bin wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.oGSsTI731W ++ mktemp + local LAST_ERR=/tmp/tmp.QdnVPO5aTT + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbclustersyncs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oGSsTI731W + cat /tmp/tmp.QdnVPO5aTT + rm /tmp/tmp.oGSsTI731W /tmp/tmp.QdnVPO5aTT + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.cUnnxMjkay ++ mktemp + local LAST_ERR=/tmp/tmp.peqTXPEY1b + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbrestores.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cUnnxMjkay + cat /tmp/tmp.peqTXPEY1b + rm /tmp/tmp.cUnnxMjkay /tmp/tmp.peqTXPEY1b + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.3y2Vy9DyAm ++ mktemp + local LAST_ERR=/tmp/tmp.TmbPsmg818 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3y2Vy9DyAm + cat /tmp/tmp.TmbPsmg818 + rm /tmp/tmp.3y2Vy9DyAm /tmp/tmp.TmbPsmg818 + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.CC5SzFv1re ++ mktemp + local LAST_ERR=/tmp/tmp.d6LUb0rav7 + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CC5SzFv1re + cat /tmp/tmp.d6LUb0rav7 + rm /tmp/tmp.CC5SzFv1re /tmp/tmp.d6LUb0rav7 + return 0 + check_crd_for_deletion PR-2491-6cfab0ed6 + local git_tag=PR-2491-6cfab0ed6 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2491-6cfab0ed6/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8Cz5hwrpDX +++ mktemp ++ local LAST_ERR=/tmp/tmp.zN3eFVHw3r ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/null' '-o' 'jsonpath={.status.conditions[-1].type}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8Cz5hwrpDX ++ cat /tmp/tmp.zN3eFVHw3r Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8Cz5hwrpDX ++ cat /tmp/tmp.zN3eFVHw3r Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8Cz5hwrpDX ++ cat /tmp/tmp.zN3eFVHw3r Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.8Cz5hwrpDX ++ cat /tmp/tmp.zN3eFVHw3r Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.8Cz5hwrpDX /tmp/tmp.zN3eFVHw3r ++ return 1 + [[ '' == Terminating ]] + '[' -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 '' ']' ++ grep chaos-mesh ++ kubectl get MutatingWebhookConfiguration ++ 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' + [[ -n '' ]] + desc 'cleaned up old namespaces psmdb-operator' + awk '{print$1}' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + xargs kubectl delete ns ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.Y73FuVoxzC + local LAST_OUT=/tmp/tmp.khDnyVtPHM ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.GkleFgUZAZ + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + local LAST_ERR=/tmp/tmp.q7bMj85FSF + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'psmdb-operator' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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 psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.khDnyVtPHM + cat /tmp/tmp.GkleFgUZAZ + rm /tmp/tmp.khDnyVtPHM /tmp/tmp.GkleFgUZAZ + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Y73FuVoxzC + cat /tmp/tmp.q7bMj85FSF + rm /tmp/tmp.Y73FuVoxzC /tmp/tmp.q7bMj85FSF + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.btNKgZxyrK ++ mktemp + local LAST_ERR=/tmp/tmp.vD6FB7wy9g + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.btNKgZxyrK + cat /tmp/tmp.vD6FB7wy9g + rm /tmp/tmp.btNKgZxyrK /tmp/tmp.vD6FB7wy9g + 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.8aJnAmF8gw ++ mktemp + local LAST_ERR=/tmp/tmp.0S5X53moMK + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.8aJnAmF8gw namespace/psmdb-operator created + cat /tmp/tmp.0S5X53moMK + rm /tmp/tmp.8aJnAmF8gw /tmp/tmp.0S5X53moMK + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.3xWEQoeGbO +++ mktemp ++ local LAST_ERR=/tmp/tmp.SIHdMHubVe ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.3xWEQoeGbO ++ cat /tmp/tmp.SIHdMHubVe ++ rm /tmp/tmp.3xWEQoeGbO /tmp/tmp.SIHdMHubVe ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.YDvvSgHMCq ++ mktemp + local LAST_ERR=/tmp/tmp.60AasFr3GV + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2' '--namespace=psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.YDvvSgHMCq Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2" modified. + cat /tmp/tmp.60AasFr3GV + rm /tmp/tmp.YDvvSgHMCq /tmp/tmp.60AasFr3GV + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.R1YJ7I8m5a ++ mktemp + local LAST_ERR=/tmp/tmp.S7BrCoVqVE + local exit_status=0 + local timeout=4 + args=('apply' '--server-side' '--force-conflicts' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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-2491/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.R1YJ7I8m5a customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbclustersyncs.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.S7BrCoVqVE + rm /tmp/tmp.R1YJ7I8m5a /tmp/tmp.S7BrCoVqVE + 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-2491/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.x3cm2PHp9p ++ mktemp + local LAST_ERR=/tmp/tmp.u4yUygUByA + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.x3cm2PHp9p clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.u4yUygUByA + rm /tmp/tmp.x3cm2PHp9p /tmp/tmp.u4yUygUByA + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6") |\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-2491/deploy/cw-operator.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + kubectl_bin apply -n psmdb-operator -f - + [[ -n '' ]] + cat - ++ mktemp + local LAST_OUT=/tmp/tmp.tuXWSmRdB8 ++ mktemp + local LAST_ERR=/tmp/tmp.BXufzlklRF + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tuXWSmRdB8 deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.BXufzlklRF + rm /tmp/tmp.tuXWSmRdB8 /tmp/tmp.BXufzlklRF + 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.okviTDFOVo +++ mktemp ++ local LAST_ERR=/tmp/tmp.YOiiF5iGzF ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.okviTDFOVo ++ cat /tmp/tmp.YOiiF5iGzF ++ rm /tmp/tmp.okviTDFOVo /tmp/tmp.YOiiF5iGzF ++ return 0 + wait_operator_pod percona-server-mongodb-operator-78964f6749-h7gg9 + local pod=percona-server-mongodb-operator-78964f6749-h7gg9 + set +o xtrace waiting for pod/percona-server-mongodb-operator-78964f6749-h7gg9 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.Wea6MtuAOR +++ mktemp ++ local LAST_ERR=/tmp/tmp.QkgDtnsAUZ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.Wea6MtuAOR ++ cat /tmp/tmp.QkgDtnsAUZ ++ rm /tmp/tmp.Wea6MtuAOR /tmp/tmp.QkgDtnsAUZ ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-78964f6749-h7gg9 ++ mktemp + local LAST_OUT=/tmp/tmp.WbueVan9LQ ++ mktemp + local LAST_ERR=/tmp/tmp.p0deOkLjvF + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-78964f6749-h7gg9') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-78964f6749-h7gg9 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WbueVan9LQ + cat /tmp/tmp.p0deOkLjvF + rm /tmp/tmp.WbueVan9LQ /tmp/tmp.p0deOkLjvF + return 0 2026-08-04T20:04:35.253Z INFO setup Manager starting up {"gitCommit": "6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a", "gitBranch": "PR-2491-6cfab0ed6", "buildTime": "", "goVersion": "go1.26.5", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-5591 + local namespace=pitr-physical-backup-source-5591 + 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}' ++ mktemp + [[ -n '' ]] + desc 'cleaned up old namespaces pitr-physical-backup-source-5591' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-5591 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-5591 --ignore-not-found + xargs kubectl delete ns + local LAST_OUT=/tmp/tmp.StdgHu2x0x ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.eQEKciDPCZ + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_OUT=/tmp/tmp.qq6lcwr5u7 + for i in $(seq 0 2) + set +e + kubectl get ns ++ mktemp + local LAST_ERR=/tmp/tmp.iDbdmURZzE + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'pitr-physical-backup-source-5591' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-5591 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.StdgHu2x0x + cat /tmp/tmp.eQEKciDPCZ + rm /tmp/tmp.StdgHu2x0x /tmp/tmp.eQEKciDPCZ + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qq6lcwr5u7 + cat /tmp/tmp.iDbdmURZzE + rm /tmp/tmp.qq6lcwr5u7 /tmp/tmp.iDbdmURZzE + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-5591 ++ mktemp + local LAST_OUT=/tmp/tmp.VjplPbfmKU ++ mktemp + local LAST_ERR=/tmp/tmp.PIpdqaKIWe + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'pitr-physical-backup-source-5591') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace pitr-physical-backup-source-5591 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VjplPbfmKU + cat /tmp/tmp.PIpdqaKIWe + rm /tmp/tmp.VjplPbfmKU /tmp/tmp.PIpdqaKIWe + return 0 + desc 'create namespace pitr-physical-backup-source-5591' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-5591 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-5591 ++ mktemp + local LAST_OUT=/tmp/tmp.VdtLFoCZrN ++ mktemp + local LAST_ERR=/tmp/tmp.bQ3nWfyo8c + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'pitr-physical-backup-source-5591') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace pitr-physical-backup-source-5591 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VdtLFoCZrN namespace/pitr-physical-backup-source-5591 created + cat /tmp/tmp.bQ3nWfyo8c + rm /tmp/tmp.VdtLFoCZrN /tmp/tmp.bQ3nWfyo8c + return 0 + set_kube_ctx pitr-physical-backup-source-5591 + local namespace=pitr-physical-backup-source-5591 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.1awWBG3tPZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.ib5Sk6a69W ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.1awWBG3tPZ ++ cat /tmp/tmp.ib5Sk6a69W ++ rm /tmp/tmp.1awWBG3tPZ /tmp/tmp.ib5Sk6a69W ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2 --namespace=pitr-physical-backup-source-5591 ++ mktemp + local LAST_OUT=/tmp/tmp.jezKqrn7Dl ++ mktemp + local LAST_ERR=/tmp/tmp.CFUtFKkUJl + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2' '--namespace=pitr-physical-backup-source-5591') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2 --namespace=pitr-physical-backup-source-5591 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jezKqrn7Dl Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-3-cluster2" modified. + cat /tmp/tmp.CFUtFKkUJl + rm /tmp/tmp.jezKqrn7Dl /tmp/tmp.CFUtFKkUJl + 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 + arch_scheduling_enabled + [[ -n '' ]] + [[ -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 Aug 4 20:05:13 2026 NAMESPACE: pitr-physical-backup-source-5591 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-5591.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-5591 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-5591 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-5591 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-5591 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.ztQn1kcVOJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.AmFQiMqSP0 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=release=minio-service' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.ztQn1kcVOJ ++ cat /tmp/tmp.AmFQiMqSP0 ++ rm /tmp/tmp.ztQn1kcVOJ /tmp/tmp.AmFQiMqSP0 ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-xlngt + wait_pod minio-service-6d5f646cdc-xlngt + local pod=minio-service-6d5f646cdc-xlngt + set +o xtrace waiting for pod/minio-service-6d5f646cdc-xlngt 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-5591.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 + aws_cli_minio http://minio-service:9000 s3 mb s3://operator-testing + local endpoint=http://minio-service:9000 + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing ++ mktemp + local LAST_OUT=/tmp/tmp.BCaQ39o9gq ++ mktemp + local LAST_ERR=/tmp/tmp.Xpz6uwPIJs + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'mb' 's3://operator-testing') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --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.BCaQ39o9gq make_bucket: operator-testing pod "aws-cli" deleted from pitr-physical-backup-source-5591 namespace + cat /tmp/tmp.Xpz6uwPIJs 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.BCaQ39o9gq /tmp/tmp.Xpz6uwPIJs + 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-2491/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.xolvWZj566 ++ mktemp + local LAST_ERR=/tmp/tmp.AmuSyfzPnr + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/secrets.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/minio-secret.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xolvWZj566 secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.AmuSyfzPnr + rm /tmp/tmp.xolvWZj566 /tmp/tmp.AmuSyfzPnr + 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-2491/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/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"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"' ++ mktemp + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '(.spec | select(has("search"))).search.image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongot"' + local LAST_OUT=/tmp/tmp.aXU6i9YkQx ++ mktemp + local LAST_ERR=/tmp/tmp.bKmydKuEXw + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + add_arch_to_psmdb - + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-5591/g + arch_scheduling_enabled + [[ -n '' ]] + cat - + yq eval '.spec.upgradeOptions.apply="Never"' ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aXU6i9YkQx perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.bKmydKuEXw + rm /tmp/tmp.aXU6i9YkQx /tmp/tmp.bKmydKuEXw + 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_readiness=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.PVzT06rBEJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.XbgDTQPXAM ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.PVzT06rBEJ ++ cat /tmp/tmp.XbgDTQPXAM ++ rm /tmp/tmp.PVzT06rBEJ /tmp/tmp.XbgDTQPXAM ++ 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.uB6zTQZCZq +++ mktemp ++ local LAST_ERR=/tmp/tmp.gQqx42MdFI ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.uB6zTQZCZq ++ cat /tmp/tmp.gQqx42MdFI ++ rm /tmp/tmp.uB6zTQZCZq /tmp/tmp.gQqx42MdFI ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.oygyNvOUBK +++ mktemp ++ local LAST_ERR=/tmp/tmp.oMRerGadsC ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.oygyNvOUBK ++ cat /tmp/tmp.oMRerGadsC ++ rm /tmp/tmp.oygyNvOUBK /tmp/tmp.oMRerGadsC ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready............................................. + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readiness=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.ylNXM1lpBR +++ mktemp ++ local LAST_ERR=/tmp/tmp.72gfNbXuTQ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.ylNXM1lpBR ++ cat /tmp/tmp.72gfNbXuTQ ++ rm /tmp/tmp.ylNXM1lpBR /tmp/tmp.72gfNbXuTQ ++ 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.wgqX172ZtI +++ mktemp ++ local LAST_ERR=/tmp/tmp.YDTovKhrZR ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.wgqX172ZtI ++ cat /tmp/tmp.YDTovKhrZR ++ rm /tmp/tmp.wgqX172ZtI /tmp/tmp.YDTovKhrZR ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.b2BuQQ9d36 +++ mktemp ++ local LAST_ERR=/tmp/tmp.VdjNI8Uxae ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.b2BuQQ9d36 ++ cat /tmp/tmp.VdjNI8Uxae ++ rm /tmp/tmp.b2BuQQ9d36 /tmp/tmp.VdjNI8Uxae ++ 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-5591 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-5591 + 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.uXtItUDBtX +++ mktemp ++ local LAST_ERR=/tmp/tmp.eyXxJe8Ve7 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.uXtItUDBtX ++ cat /tmp/tmp.eyXxJe8Ve7 ++ rm /tmp/tmp.uXtItUDBtX /tmp/tmp.eyXxJe8Ve7 ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.bMvCsRh5sA ++ mktemp + local LAST_ERR=/tmp/tmp.y5GUoxfRxs + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bMvCsRh5sA Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("4ceb0db9-5624-4153-9a06-b0346fec0f1d") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.y5GUoxfRxs + rm /tmp/tmp.bMvCsRh5sA /tmp/tmp.y5GUoxfRxs + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-08-04T20:09:37+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-5591 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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.BnXARHEpQl +++ mktemp ++ local LAST_ERR=/tmp/tmp.yZgknxKpCa ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.BnXARHEpQl ++ cat /tmp/tmp.yZgknxKpCa ++ rm /tmp/tmp.BnXARHEpQl /tmp/tmp.yZgknxKpCa ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.yQBROb5ctc ++ mktemp + local LAST_ERR=/tmp/tmp.kIYY1fwT8D + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yQBROb5ctc Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("d4c58cfc-b0f0-450a-85a8-7ba8df6084b1") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.kIYY1fwT8D + rm /tmp/tmp.yQBROb5ctc /tmp/tmp.kIYY1fwT8D + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T20:09:40+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 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-5591 + 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.ERxSFPSQOZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.CTLVcQhZ9G ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.ERxSFPSQOZ ++ cat /tmp/tmp.CTLVcQhZ9G ++ rm /tmp/tmp.ERxSFPSQOZ /tmp/tmp.CTLVcQhZ9G ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ZtfKcbRsaq ++ mktemp + local LAST_ERR=/tmp/tmp.f4WQOKf1Rq + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZtfKcbRsaq + cat /tmp/tmp.f4WQOKf1Rq + rm /tmp/tmp.ZtfKcbRsaq /tmp/tmp.f4WQOKf1Rq + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.RgoHoBBaKk/find + return + 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-08-04T20:09:01.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-08-04T20:09:04.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-08-04T20:09:07.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-08-04T20:09:03.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-08-04T20:09:04.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-08-04T20:09:07.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-08-04T20:09:04.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-08-04T20:09:05.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-08-04T20:09:08.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-2491/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.ii0sqhNLGQ ++ mktemp + local LAST_ERR=/tmp/tmp.smA0qlKdqk + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.ii0sqhNLGQ perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.smA0qlKdqk + rm /tmp/tmp.ii0sqhNLGQ /tmp/tmp.smA0qlKdqk + 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.yqeg45hVLf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.BlAaeI1YW4 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.yqeg45hVLf +++ cat /tmp/tmp.BlAaeI1YW4 +++ rm /tmp/tmp.yqeg45hVLf /tmp/tmp.BlAaeI1YW4 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 1 -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.2NvHdrZVj0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.viDmxT5eFT +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.2NvHdrZVj0 +++ cat /tmp/tmp.viDmxT5eFT +++ rm /tmp/tmp.2NvHdrZVj0 /tmp/tmp.viDmxT5eFT +++ 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.Ylj5m6eYwk ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UUlwjjEFsI +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Ylj5m6eYwk +++ cat /tmp/tmp.UUlwjjEFsI +++ rm /tmp/tmp.Ylj5m6eYwk /tmp/tmp.UUlwjjEFsI +++ 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.ezySSoWRwp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3fOkov5q75 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.ezySSoWRwp +++ cat /tmp/tmp.3fOkov5q75 +++ rm /tmp/tmp.ezySSoWRwp /tmp/tmp.3fOkov5q75 +++ 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.ulXfAkyf4A ++++ mktemp +++ local LAST_ERR=/tmp/tmp.YKnmBZ8iYn +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.ulXfAkyf4A +++ cat /tmp/tmp.YKnmBZ8iYn +++ rm /tmp/tmp.ulXfAkyf4A /tmp/tmp.YKnmBZ8iYn +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 5 -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.57D5HjIvu4 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.yBZpChw5GP +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.57D5HjIvu4 +++ cat /tmp/tmp.yBZpChw5GP +++ rm /tmp/tmp.57D5HjIvu4 /tmp/tmp.yBZpChw5GP +++ 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.LeUwMoNtuu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ZxmtDS6wTN +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.LeUwMoNtuu +++ cat /tmp/tmp.ZxmtDS6wTN +++ rm /tmp/tmp.LeUwMoNtuu /tmp/tmp.ZxmtDS6wTN +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 7 -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.jbAC9HbCRV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.LweRHvzEc0 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.jbAC9HbCRV +++ cat /tmp/tmp.LweRHvzEc0 +++ rm /tmp/tmp.jbAC9HbCRV /tmp/tmp.LweRHvzEc0 +++ 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.RQjmnl343m ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ikaSIrw2jX +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.RQjmnl343m +++ cat /tmp/tmp.ikaSIrw2jX +++ rm /tmp/tmp.RQjmnl343m /tmp/tmp.ikaSIrw2jX +++ 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.26bIplkpON ++++ mktemp +++ local LAST_ERR=/tmp/tmp.n4Lu9i1YaP +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.26bIplkpON +++ cat /tmp/tmp.n4Lu9i1YaP +++ rm /tmp/tmp.26bIplkpON /tmp/tmp.n4Lu9i1YaP +++ 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.vurEnFie2j ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lzKUTPosEm +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.vurEnFie2j +++ cat /tmp/tmp.lzKUTPosEm +++ rm /tmp/tmp.vurEnFie2j /tmp/tmp.lzKUTPosEm +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 11 -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.pgIEYOt42N ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5Pk5UFcSpj +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.pgIEYOt42N +++ cat /tmp/tmp.5Pk5UFcSpj +++ rm /tmp/tmp.pgIEYOt42N /tmp/tmp.5Pk5UFcSpj +++ 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.I9hca8r34Q ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jBt8VMzovg +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.I9hca8r34Q +++ cat /tmp/tmp.jBt8VMzovg +++ rm /tmp/tmp.I9hca8r34Q /tmp/tmp.jBt8VMzovg +++ 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.6daX3fJwk3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nfmSmaJGIn +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.6daX3fJwk3 +++ cat /tmp/tmp.nfmSmaJGIn +++ rm /tmp/tmp.6daX3fJwk3 /tmp/tmp.nfmSmaJGIn +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 14 -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.mJbh6oDOsL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jPadjSOhRs +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.mJbh6oDOsL +++ cat /tmp/tmp.jPadjSOhRs +++ rm /tmp/tmp.mJbh6oDOsL /tmp/tmp.jPadjSOhRs +++ 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.a84tpP4Ywg ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5SvnLEzO1S +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.a84tpP4Ywg +++ cat /tmp/tmp.5SvnLEzO1S +++ rm /tmp/tmp.a84tpP4Ywg /tmp/tmp.5SvnLEzO1S +++ 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.1v1ySQA2Pt ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KTohXmNXLN +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.1v1ySQA2Pt +++ cat /tmp/tmp.KTohXmNXLN +++ rm /tmp/tmp.1v1ySQA2Pt /tmp/tmp.KTohXmNXLN +++ 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.oJewqYmZM7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.CEsCfZtHlY +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.oJewqYmZM7 +++ cat /tmp/tmp.CEsCfZtHlY +++ rm /tmp/tmp.oJewqYmZM7 /tmp/tmp.CEsCfZtHlY +++ 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.IBp04UBZVn ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EqOdohSH7C +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.IBp04UBZVn +++ cat /tmp/tmp.EqOdohSH7C +++ rm /tmp/tmp.IBp04UBZVn /tmp/tmp.EqOdohSH7C +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 19 -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.mX8qqnMB8o ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jr0bdsU4FF +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.mX8qqnMB8o +++ cat /tmp/tmp.jr0bdsU4FF +++ rm /tmp/tmp.mX8qqnMB8o /tmp/tmp.jr0bdsU4FF +++ 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.7fGUY84ilG ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gg8BFOvmPh +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.7fGUY84ilG +++ cat /tmp/tmp.gg8BFOvmPh +++ rm /tmp/tmp.7fGUY84ilG /tmp/tmp.gg8BFOvmPh +++ return 0 ++ first_timestamp=1785874712 ++ sleep 5 ++ [[ 1785874712 != '' ]] ++ [[ 1785874712 != 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.N737W3sYk5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.oONTLQz3aj +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.N737W3sYk5 +++ cat /tmp/tmp.oONTLQz3aj +++ rm /tmp/tmp.N737W3sYk5 /tmp/tmp.oONTLQz3aj +++ return 0 ++ second_timestamp=1785874707 ++ let retry+=1 ++ [[ 21 -gt 30 ]] ++ [[ 1785874712 != '' ]] ++ [[ 1785874712 != null ]] ++ [[ 1785874712 == 1785874707 ]] +++ 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.fWv4oG4zyi ++++ mktemp +++ local LAST_ERR=/tmp/tmp.SZglJzFYHF +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.fWv4oG4zyi +++ cat /tmp/tmp.SZglJzFYHF +++ rm /tmp/tmp.fWv4oG4zyi /tmp/tmp.SZglJzFYHF +++ return 0 ++ first_timestamp=1785874707 ++ sleep 5 ++ [[ 1785874707 != '' ]] ++ [[ 1785874707 != 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.VKBhVlVZBO ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5BXCTydfsO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.VKBhVlVZBO +++ cat /tmp/tmp.5BXCTydfsO +++ rm /tmp/tmp.VKBhVlVZBO /tmp/tmp.5BXCTydfsO +++ return 0 ++ second_timestamp=1785874707 ++ let retry+=1 ++ [[ 22 -gt 30 ]] ++ [[ 1785874707 != '' ]] ++ [[ 1785874707 != null ]] ++ [[ 1785874707 == 1785874707 ]] ++ /usr/sbin/date -u -d @1785874707 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-08-04T20:18:27Z ++ 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.AM7F1riuS2 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.CNE03YhfKb +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'psmdb-backup' 'backup-minio-1' '-o' 'jsonpath={.status.latestRestorableTime}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.AM7F1riuS2 +++ cat /tmp/tmp.CNE03YhfKb +++ rm /tmp/tmp.AM7F1riuS2 /tmp/tmp.CNE03YhfKb +++ return 0 ++ latestRestorableTime=2026-08-04T20:18:27Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-08-04T20:18:27Z != '' ]] ++ [[ 2026-08-04T20:18:27Z != null ]] ++ echo 2026-08-04T20:18:27Z + backup_time=2026-08-04T20:18:27Z + [[ 2026-08-04T20:18:27Z != 2026\-08\-04T20\:18\:27Z ]] + 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-5591 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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.uDO7jasrrI +++ mktemp ++ local LAST_ERR=/tmp/tmp.Jitswgyx4q ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.uDO7jasrrI ++ cat /tmp/tmp.Jitswgyx4q ++ rm /tmp/tmp.uDO7jasrrI /tmp/tmp.Jitswgyx4q ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.NryyQn6Ww3 ++ mktemp + local LAST_ERR=/tmp/tmp.lr86HE3IvM + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NryyQn6Ww3 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9a68b033-a63e-4764-83da-c934e9c630fd") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.lr86HE3IvM + rm /tmp/tmp.NryyQn6Ww3 /tmp/tmp.lr86HE3IvM + 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-08-04T20:19:02+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-5591 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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.3LG3vtUNsx +++ mktemp ++ local LAST_ERR=/tmp/tmp.0Xjm0EWsdH ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.3LG3vtUNsx ++ cat /tmp/tmp.0Xjm0EWsdH ++ rm /tmp/tmp.3LG3vtUNsx /tmp/tmp.0Xjm0EWsdH ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.kMOsxs1D2v ++ mktemp + local LAST_ERR=/tmp/tmp.06czerNuns + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kMOsxs1D2v Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e2a86427-58d2-45af-9a15-91e5a5ea9655") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.06czerNuns + rm /tmp/tmp.kMOsxs1D2v /tmp/tmp.06czerNuns + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T20:21:04+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local driver=mongodb + 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 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.PXP0hFekFI +++ mktemp ++ local LAST_ERR=/tmp/tmp.wm27PwTHjI ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.PXP0hFekFI ++ cat /tmp/tmp.wm27PwTHjI ++ rm /tmp/tmp.PXP0hFekFI /tmp/tmp.wm27PwTHjI ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.oXBXwvpdx7 ++ mktemp + local LAST_ERR=/tmp/tmp.sUZ8o4VPof + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oXBXwvpdx7 + cat /tmp/tmp.sUZ8o4VPof + rm /tmp/tmp.oXBXwvpdx7 /tmp/tmp.sUZ8o4VPof + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.RgoHoBBaKk/find + return ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 mongodb '' --quiet ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ 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' ++ 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.QY1tP1bJBO ++++ mktemp +++ local LAST_ERR=/tmp/tmp.879Svuckjj +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.QY1tP1bJBO +++ cat /tmp/tmp.879Svuckjj +++ rm /tmp/tmp.QY1tP1bJBO /tmp/tmp.879Svuckjj +++ return 0 ++ local client_container=psmdb-client-757cd65695-zstt9 ++ kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1Yd10yT5Bl +++ mktemp ++ local LAST_ERR=/tmp/tmp.OfUxIXdtzd ++ local exit_status=0 ++ local timeout=4 ++ args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin --quiet') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1Yd10yT5Bl ++ cat /tmp/tmp.OfUxIXdtzd ++ rm /tmp/tmp.1Yd10yT5Bl /tmp/tmp.OfUxIXdtzd ++ return 0 + time_now=1785874869 + check_recovery backup-minio-1 date 1785874869 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1785874869 + 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.GPyb1lfYUM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mU9VHDHaPL +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.GPyb1lfYUM +++ cat /tmp/tmp.mU9VHDHaPL +++ rm /tmp/tmp.GPyb1lfYUM /tmp/tmp.mU9VHDHaPL +++ return 0 ++ echo 1785874827 + local latest_ts=1785874827 + 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-5591 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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.C4oZXYpAUw +++ mktemp ++ local LAST_ERR=/tmp/tmp.1x2ZPrcik1 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.C4oZXYpAUw ++ cat /tmp/tmp.1x2ZPrcik1 ++ rm /tmp/tmp.C4oZXYpAUw /tmp/tmp.1x2ZPrcik1 ++ return 0 + local client_container=psmdb-client-757cd65695-zstt9 + kubectl_bin exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.CjHWcYGsGy ++ mktemp + local LAST_ERR=/tmp/tmp.odPc1lHjKC + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-zstt9' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-zstt9 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CjHWcYGsGy Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("0b1235fe-f826-4655-9b7c-7ba4ed1c2243") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.odPc1lHjKC + rm /tmp/tmp.CjHWcYGsGy /tmp/tmp.odPc1lHjKC + return 0 + [[ -n 1785874869 ]] ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + desc 'Restoring to time 2026-08-04 20:21:09' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2026-08-04 20:21:09 ----------------------------------------------------------------------------------- + retries=0 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.HzQx4frkbz ++++ mktemp +++ local LAST_ERR=/tmp/tmp.pzkHCyF630 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.HzQx4frkbz +++ cat /tmp/tmp.pzkHCyF630 +++ rm /tmp/tmp.HzQx4frkbz /tmp/tmp.pzkHCyF630 +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=1 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ 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.VpGm7JdJKU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.GJZt1Slgw3 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.VpGm7JdJKU +++ cat /tmp/tmp.GJZt1Slgw3 +++ rm /tmp/tmp.VpGm7JdJKU /tmp/tmp.GJZt1Slgw3 +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=2 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.i2yoUKoPN7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.thCrEnGNjO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.i2yoUKoPN7 +++ cat /tmp/tmp.thCrEnGNjO +++ rm /tmp/tmp.i2yoUKoPN7 /tmp/tmp.thCrEnGNjO +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=3 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.y5pJVCXMyh ++++ mktemp +++ local LAST_ERR=/tmp/tmp.vUvgxLfX2d +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.y5pJVCXMyh +++ cat /tmp/tmp.vUvgxLfX2d +++ rm /tmp/tmp.y5pJVCXMyh /tmp/tmp.vUvgxLfX2d +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=4 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.uile7IzDZM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.y9IlEWw3V7 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.uile7IzDZM +++ cat /tmp/tmp.y9IlEWw3V7 +++ rm /tmp/tmp.uile7IzDZM /tmp/tmp.y9IlEWw3V7 +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=5 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.c8KP3bFWtQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aofua1yAZq +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.c8KP3bFWtQ +++ cat /tmp/tmp.aofua1yAZq +++ rm /tmp/tmp.c8KP3bFWtQ /tmp/tmp.aofua1yAZq +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=6 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.Xel7zZozau ++++ mktemp +++ local LAST_ERR=/tmp/tmp.yNPaDovuZ9 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Xel7zZozau +++ cat /tmp/tmp.yNPaDovuZ9 +++ rm /tmp/tmp.Xel7zZozau /tmp/tmp.yNPaDovuZ9 +++ return 0 ++ echo 1785874827 + latest_ts=1785874827 + retries=7 ++ format_date 1785874827 ++ local timestamp=1785874827 +++ TZ=UTC +++ /usr/sbin/date -d@1785874827 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:20:27 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:20:27) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874827 -gt 1785874869 ]] + [[ 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.5ODyabZoWt ++++ mktemp +++ local LAST_ERR=/tmp/tmp.wiRgRDeTuO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.5ODyabZoWt +++ cat /tmp/tmp.wiRgRDeTuO +++ rm /tmp/tmp.5ODyabZoWt /tmp/tmp.wiRgRDeTuO +++ return 0 ++ echo 1785874946 + latest_ts=1785874946 + retries=8 ++ format_date 1785874946 ++ local timestamp=1785874946 +++ TZ=UTC +++ /usr/sbin/date -d@1785874946 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:22:26 ++ format_date 1785874869 ++ local timestamp=1785874869 +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-08-04 20:21:09 + echo 'Waiting for last oplog chunk (2026-08-04 20:22:26) to be greater than restore target (2026-08-04 20:21:09)' Waiting for last oplog chunk (2026-08-04 20:22:26) to be greater than restore target (2026-08-04 20:21:09) + sleep 10 + [[ 1785874946 -gt 1785874869 ]] + '[' -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 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.destination}' +++ mktemp ++ sed 's|s3://||' ++ sed -e 's/.json$//' ++ sed 's|azure://||' ++ sed 's|oss://||' ++ sed 's|gs://||' ++ sed 's|oci://||' ++ local LAST_OUT=/tmp/tmp.yVhLrPMATM +++ mktemp ++ local LAST_ERR=/tmp/tmp.VpHrRVJcpw ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb-backup' 'backup-minio-1' '-o' 'jsonpath={.status.destination}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.yVhLrPMATM ++ cat /tmp/tmp.VpHrRVJcpw ++ rm /tmp/tmp.yVhLrPMATM /tmp/tmp.VpHrRVJcpw ++ return 0 + backup_dest=operator-testing/2026-08-04T20:15:56Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/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 + /usr/sbin/sed -e 's/pitrType:/type: date/' + '[' -z 1785874869 ']' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-08-04T20:15:56Z|' + '[' -n '' ']' + yq ++ format_date 1785874869 ++ local timestamp=1785874869 + kubectl_bin apply -f - ++ 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}' ++ mktemp +++ mktemp +++ TZ=UTC +++ /usr/sbin/date -d@1785874869 '+%Y-%m-%d %H:%M:%S' + local LAST_OUT=/tmp/tmp.WsQOPE4ac0 ++ local LAST_OUT=/tmp/tmp.w9SP5ssGg4 ++ mktemp ++ echo 2026-08-04 20:21:09 +++ mktemp + /usr/sbin/sed -e 's/date:/date: 2026-08-04 20:21:09/' + local LAST_ERR=/tmp/tmp.B6X3xomUBl + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ local LAST_ERR=/tmp/tmp.1INtBP3Oua ++ local exit_status=0 ++ local timeout=4 ++ seq 0 2 ++ args=('get' 'psmdb-backup' 'backup-minio-1' '-o' 'jsonpath={.status.s3.bucket}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - ++ 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.w9SP5ssGg4 ++ cat /tmp/tmp.1INtBP3Oua ++ rm /tmp/tmp.w9SP5ssGg4 /tmp/tmp.1INtBP3Oua ++ 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.WsQOPE4ac0 perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.B6X3xomUBl + rm /tmp/tmp.WsQOPE4ac0 /tmp/tmp.B6X3xomUBl + 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 7 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_readiness=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.h6jtv2uetK +++ mktemp ++ local LAST_ERR=/tmp/tmp.y2emsMw7Gp ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.h6jtv2uetK ++ cat /tmp/tmp.y2emsMw7Gp ++ rm /tmp/tmp.h6jtv2uetK /tmp/tmp.y2emsMw7Gp ++ 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.1EzfguU7Cd +++ mktemp ++ local LAST_ERR=/tmp/tmp.mawXktu7b6 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.1EzfguU7Cd ++ cat /tmp/tmp.mawXktu7b6 ++ rm /tmp/tmp.1EzfguU7Cd /tmp/tmp.mawXktu7b6 ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fh9dB6AHop +++ mktemp ++ local LAST_ERR=/tmp/tmp.Bq3Q35G7x4 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.fh9dB6AHop ++ cat /tmp/tmp.Bq3Q35G7x4 ++ rm /tmp/tmp.fh9dB6AHop /tmp/tmp.Bq3Q35G7x4 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready....................................................... + wait_for_running some-name-cfg 3 + local name=some-name-cfg + let last_pod=2 + local check_cluster_readiness=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.gGIdRltDRF +++ mktemp ++ local LAST_ERR=/tmp/tmp.1LqEar8UFU ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.gGIdRltDRF ++ cat /tmp/tmp.1LqEar8UFU ++ rm /tmp/tmp.gGIdRltDRF /tmp/tmp.1LqEar8UFU ++ 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.1zLek2gjad +++ mktemp ++ local LAST_ERR=/tmp/tmp.kJ1V1dmv7X ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.1zLek2gjad ++ cat /tmp/tmp.kJ1V1dmv7X ++ rm /tmp/tmp.1zLek2gjad /tmp/tmp.kJ1V1dmv7X ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WrivC8fzaQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.yZj7iBWjSv ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.WrivC8fzaQ ++ cat /tmp/tmp.yZj7iBWjSv ++ rm /tmp/tmp.WrivC8fzaQ /tmp/tmp.yZj7iBWjSv ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readiness=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.ggnpo25EmB +++ mktemp ++ local LAST_ERR=/tmp/tmp.7tzUfIQ2HW ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.ggnpo25EmB ++ cat /tmp/tmp.7tzUfIQ2HW ++ rm /tmp/tmp.ggnpo25EmB /tmp/tmp.7tzUfIQ2HW ++ 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.JmlmOiQcfY +++ mktemp ++ local LAST_ERR=/tmp/tmp.VZoSqSdHWd ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.JmlmOiQcfY ++ cat /tmp/tmp.VZoSqSdHWd ++ rm /tmp/tmp.JmlmOiQcfY /tmp/tmp.VZoSqSdHWd ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gZ29HweZ72 +++ mktemp ++ local LAST_ERR=/tmp/tmp.K4uEihh7DQ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.gZ29HweZ72 ++ cat /tmp/tmp.K4uEihh7DQ ++ rm /tmp/tmp.gZ29HweZ72 /tmp/tmp.K4uEihh7DQ ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 '' + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T20:35:49+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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 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.PW6YM6y6XF +++ mktemp ++ local LAST_ERR=/tmp/tmp.djMLqWUiLY ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.PW6YM6y6XF ++ cat /tmp/tmp.djMLqWUiLY ++ rm /tmp/tmp.PW6YM6y6XF /tmp/tmp.djMLqWUiLY ++ return 0 + local client_container=psmdb-client-757cd65695-mt7zq + kubectl_bin exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.BsHmN4IOa7 ++ mktemp + local LAST_ERR=/tmp/tmp.MqzUDjqut1 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-mt7zq' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.BsHmN4IOa7 + cat /tmp/tmp.MqzUDjqut1 error: Internal error occurred: unable to upgrade connection: container not found ("psmdb-client") + sleep 0 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.BsHmN4IOa7 + cat /tmp/tmp.MqzUDjqut1 error: Internal error occurred: unable to upgrade connection: container not found ("psmdb-client") + sleep 4 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BsHmN4IOa7 + cat /tmp/tmp.MqzUDjqut1 + rm /tmp/tmp.BsHmN4IOa7 /tmp/tmp.MqzUDjqut1 + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.RgoHoBBaKk/find --- /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json 2026-08-04 19:27:03.000607550 +0000 +++ /tmp/tmp.RgoHoBBaKk/find 2026-08-04 20:36:08.075383569 +0000 @@ -1,3 +1 @@ switched to db myApp -{ "_id" : , "x" : 100500 } -bye + [[ 1 -lt 3 ]] + sleep 10 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 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-5591 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + 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.fbwQAdjdiU +++ mktemp ++ local LAST_ERR=/tmp/tmp.UjIowkehNR ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.fbwQAdjdiU ++ cat /tmp/tmp.UjIowkehNR ++ rm /tmp/tmp.fbwQAdjdiU /tmp/tmp.UjIowkehNR ++ return 0 + local client_container=psmdb-client-757cd65695-mt7zq + kubectl_bin exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.d178krCEpz ++ mktemp + local LAST_ERR=/tmp/tmp.5mskcYZt68 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-mt7zq' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.d178krCEpz + cat /tmp/tmp.5mskcYZt68 error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 0 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.d178krCEpz + cat /tmp/tmp.5mskcYZt68 error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 4 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.d178krCEpz + cat /tmp/tmp.5mskcYZt68 error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 8 + cat /tmp/tmp.d178krCEpz + cat /tmp/tmp.5mskcYZt68 error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + rm /tmp/tmp.d178krCEpz /tmp/tmp.5mskcYZt68 + return 1 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.RgoHoBBaKk/find --- /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json 2026-08-04 19:27:03.000607550 +0000 +++ /tmp/tmp.RgoHoBBaKk/find 2026-08-04 20:36:18.081340879 +0000 @@ -1,3 +0,0 @@ -switched to db myApp -{ "_id" : , "x" : 100500 } -bye + [[ 2 -lt 3 ]] + sleep 10 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591 + 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.qCVUDURGhE +++ mktemp ++ local LAST_ERR=/tmp/tmp.2QcXaHSsYs ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.qCVUDURGhE ++ cat /tmp/tmp.2QcXaHSsYs ++ rm /tmp/tmp.qCVUDURGhE /tmp/tmp.2QcXaHSsYs ++ return 0 + local client_container=psmdb-client-757cd65695-mt7zq + kubectl_bin exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.0eOqItHKZY ++ mktemp + local LAST_ERR=/tmp/tmp.62Ci4FaC4A + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-mt7zq' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.0eOqItHKZY + cat /tmp/tmp.62Ci4FaC4A error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 0 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.0eOqItHKZY + cat /tmp/tmp.62Ci4FaC4A error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 4 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-mt7zq -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local:27017/admin ' + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.0eOqItHKZY + cat /tmp/tmp.62Ci4FaC4A error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + sleep 8 + cat /tmp/tmp.0eOqItHKZY + cat /tmp/tmp.62Ci4FaC4A error: Internal error occurred: error sending request: Post "https://10.209.0.11:10250/exec/pitr-physical-backup-source-5591/psmdb-client-757cd65695-mt7zq/psmdb-client?command=bash&command=-c&command=export+HOME%3D%2Ftmp%3B+printf+%27use+myApp%5Cn+db.test.find%28%29%5Cn%27+%7C+mongo+mongodb%3A%2F%2FmyApp%3AmyPass%40some-name-mongos.pitr-physical-backup-source-5591.svc.cluster.local%3A27017%2Fadmin+&error=1&output=1": No agent available + rm /tmp/tmp.0eOqItHKZY /tmp/tmp.62Ci4FaC4A + return 1 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.RgoHoBBaKk/find --- /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/pitr-physical-backup-source/compare/find.json 2026-08-04 19:27:03.000607550 +0000 +++ /tmp/tmp.RgoHoBBaKk/find 2026-08-04 20:36:44.933226315 +0000 @@ -1,3 +0,0 @@ -switched to db myApp -{ "_id" : , "x" : 100500 } -bye + [[ 3 -lt 3 ]] + return 1 ==================================================================================================== [FAILED] e2e-tests/test_pytest_wrapper.py::test_bash_wrapper ==================================================================================================== =============================================================================================== FAILURES =============================================================================================== __________________________________________________________________________________________ test_bash_wrapper ___________________________________________________________________________________________ request = > def test_bash_wrapper(request: pytest.FixtureRequest) -> None: """Run a bash test script via pytest wrapper.""" test_name = request.config.getoption("--test-name") if not test_name: pytest.skip("No --test-name provided") > run_bash_test(test_name) e2e-tests/test_pytest_wrapper.py:10: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_name = 'pitr-physical-backup-source' def run_bash_test(test_name: str) -> None: """Run bash script with stdout/stderr inherited from the pytest process.""" script_path = Path(__file__).parent.parent / test_name / "run" if not script_path.exists(): pytest.fail(f"Script not found: {script_path}") original_cwd = os.getcwd() script_dir = script_path.parent try: os.chdir(script_dir) result = subprocess.run(["bash", "run"], check=False) if result.returncode != 0: > pytest.fail(f"Test {test_name} failed with exit code {result.returncode}") E Failed: Test pitr-physical-backup-source failed with exit code 1 e2e-tests/lib/bash_wrapper.py:23: Failed ------------------------------------------------------------------------------------------ Captured log setup ------------------------------------------------------------------------------------------ WARNING lib.kubectl:kubectl.py:85 kubectl error: Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 INFO conftest:conftest.py:230 Environment variables: KUBE_VERSION=1.33 PLATFORM=gke ARCH= EKS= GKE=1 AKS= OPENSHIFT= KIND= MINIKUBE= RANCHER= API=psmdb.percona.com/v1 REGISTRY_NAME=docker.io GIT_COMMIT=6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a GIT_BRANCH=PR-2491 OPERATOR_VERSION=1.24.0 IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_MONGOD_CHAIN=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_SEARCH=docker.io/perconalab/percona-server-mongodb-operator:main-mongot IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 IMAGE_PMM_SERVER=docker.io/perconalab/pmm-server:dev-latest IMAGE_PMM3_CLIENT=docker.io/perconalab/pmm-client:3-dev-latest IMAGE_PMM3_SERVER=docker.io/perconalab/pmm-server:3-dev-latest IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector IMAGE_CLUSTERSYNC=docker.io/percona/percona-clustersync-mongodb:0.9.0 IMAGE_AWS_CLI=docker.io/amazon/aws-cli:2.34.60 CERT_MANAGER_VER=1.21.0 CHAOS_MESH_VER=2.7.1 MINIO_VER=5.4.0 PMM_SERVER_VER=9.9.9 CLEAN_NAMESPACE=1 DELETE_CRD_ON_START=1 SKIP_DELETE=0 SKIP_BACKUPS_TO_AWS_GCP_AZURE= UPDATE_COMPARE_FILES=0 -------------------------------------- generated xml file: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/pitr-physical-backup-source.xml --------------------------------------- --------------------------------- Generated html report: file:///mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/pitr-physical-backup-source.html --------------------------------- ======================================================================================= short test summary info ======================================================================================== e2e-tests/test_pytest_wrapper.py::test_bash_wrapper[pitr-physical-backup-source] - Failed: Test pitr-physical-backup-source failed with exit code 1 ==================================================================================== 1 failed in 2019.29s (0:33:39) ==================================================================================== make: *** [Makefile:59: e2e-test] Error 1