Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/logs/pitr-physical-backup-source.log Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-backup-source-17743 + local ns=pitr-physical-backup-source-17743 + [[ 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-1961/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.X1wWeq61F4 ++ mktemp + local LAST_ERR=/tmp/tmp.WklVptKZDK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.X1wWeq61F4 customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.WklVptKZDK + rm /tmp/tmp.X1wWeq61F4 /tmp/tmp.WklVptKZDK + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/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\":[]}}"' No resources found + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.Yw8PBP5YQu ++ mktemp + local LAST_ERR=/tmp/tmp.qtzIZQTZcf + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Yw8PBP5YQu customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com condition met + cat /tmp/tmp.qtzIZQTZcf + rm /tmp/tmp.Yw8PBP5YQu /tmp/tmp.qtzIZQTZcf + 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.nScqPXzH9U ++ mktemp + local LAST_ERR=/tmp/tmp.BOoXf8Q8Gc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.nScqPXzH9U + cat /tmp/tmp.BOoXf8Q8Gc + rm /tmp/tmp.nScqPXzH9U /tmp/tmp.BOoXf8Q8Gc + 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.i0ZdTPHcOG ++ mktemp + local LAST_ERR=/tmp/tmp.RmgSkIVslU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.i0ZdTPHcOG + cat /tmp/tmp.RmgSkIVslU + rm /tmp/tmp.i0ZdTPHcOG /tmp/tmp.RmgSkIVslU + 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-1961/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.Q8mJlu3Mi1 ++ mktemp + local LAST_ERR=/tmp/tmp.ZvrDRbYdVq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Q8mJlu3Mi1 clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.ZvrDRbYdVq + rm /tmp/tmp.Q8mJlu3Mi1 /tmp/tmp.ZvrDRbYdVq + return 0 + check_crd_for_deletion PR-1961-7f9b8fd6 + local git_tag=PR-1961-7f9b8fd6 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1961-7f9b8fd6/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.QfoeOyANfG +++ mktemp ++ local LAST_ERR=/tmp/tmp.eaVyclAg1B ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.QfoeOyANfG ++ cat /tmp/tmp.eaVyclAg1B 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.QfoeOyANfG ++ cat /tmp/tmp.eaVyclAg1B 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.QfoeOyANfG ++ cat /tmp/tmp.eaVyclAg1B Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.QfoeOyANfG ++ cat /tmp/tmp.eaVyclAg1B Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.QfoeOyANfG /tmp/tmp.eaVyclAg1B ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.tbXndPuwX5 + local LAST_OUT=/tmp/tmp.uW1qu63AHC ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.C9gO0T9CMD + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.JHmiiEBYNh + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + for i in $(seq 0 2) + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tbXndPuwX5 + cat /tmp/tmp.JHmiiEBYNh + rm /tmp/tmp.tbXndPuwX5 /tmp/tmp.JHmiiEBYNh + return 0 namespace "pitr-physical-backup-source-11183" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uW1qu63AHC namespace "psmdb-operator" deleted + cat /tmp/tmp.C9gO0T9CMD + rm /tmp/tmp.uW1qu63AHC /tmp/tmp.C9gO0T9CMD + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.sLmR47omH7 ++ mktemp + local LAST_ERR=/tmp/tmp.ZQfmCuGqnR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sLmR47omH7 + cat /tmp/tmp.ZQfmCuGqnR + rm /tmp/tmp.sLmR47omH7 /tmp/tmp.ZQfmCuGqnR + 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.BFVBCtnYTB ++ mktemp + local LAST_ERR=/tmp/tmp.K9OVionSsE + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BFVBCtnYTB namespace/psmdb-operator created + cat /tmp/tmp.K9OVionSsE + rm /tmp/tmp.BFVBCtnYTB /tmp/tmp.K9OVionSsE + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.egM9Vqk9kb +++ mktemp ++ local LAST_ERR=/tmp/tmp.XDZrqjgp4B ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.egM9Vqk9kb ++ cat /tmp/tmp.XDZrqjgp4B ++ rm /tmp/tmp.egM9Vqk9kb /tmp/tmp.XDZrqjgp4B ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.ySwTaUTOIC ++ mktemp + local LAST_ERR=/tmp/tmp.2UzYUbp5yL + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ySwTaUTOIC Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5" modified. + cat /tmp/tmp.2UzYUbp5yL + rm /tmp/tmp.ySwTaUTOIC /tmp/tmp.2UzYUbp5yL + return 0 + deploy_operator + desc 'start PSMDB operator: perconalab/percona-server-mongodb-operator:PR-1961-7f9b8fd6' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: perconalab/percona-server-mongodb-operator:PR-1961-7f9b8fd6 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.E5SJn7y0vu ++ mktemp + local LAST_ERR=/tmp/tmp.LnH7sQpDpa + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.E5SJn7y0vu customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.LnH7sQpDpa + rm /tmp/tmp.E5SJn7y0vu /tmp/tmp.LnH7sQpDpa + 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-1961/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.UaVOIF09lT ++ mktemp + local LAST_ERR=/tmp/tmp.AW2AcTTaBG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.UaVOIF09lT 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.AW2AcTTaBG + rm /tmp/tmp.UaVOIF09lT /tmp/tmp.AW2AcTTaBG + return 0 + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1961-7f9b8fd6") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.RIEBCgIO2I ++ mktemp + local LAST_ERR=/tmp/tmp.rcHhod9Rlb + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RIEBCgIO2I deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.rcHhod9Rlb + rm /tmp/tmp.RIEBCgIO2I /tmp/tmp.rcHhod9Rlb + 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.pEoiUlwqig +++ mktemp ++ local LAST_ERR=/tmp/tmp.roBwy6qqkw ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pEoiUlwqig ++ cat /tmp/tmp.roBwy6qqkw ++ rm /tmp/tmp.pEoiUlwqig /tmp/tmp.roBwy6qqkw ++ return 0 + wait_operator_pod percona-server-mongodb-operator-7b94977d54-gg652 + local pod=percona-server-mongodb-operator-7b94977d54-gg652 + set +o xtrace waiting for pod/percona-server-mongodb-operator-7b94977d54-gg652 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.IwDEHXMDO7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CdKOojm7Xe ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.IwDEHXMDO7 ++ cat /tmp/tmp.CdKOojm7Xe ++ rm /tmp/tmp.IwDEHXMDO7 /tmp/tmp.CdKOojm7Xe ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-7b94977d54-gg652 ++ mktemp + local LAST_OUT=/tmp/tmp.JLdJyUAFWH ++ mktemp + local LAST_ERR=/tmp/tmp.K0lpBUVwOq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-7b94977d54-gg652 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JLdJyUAFWH + cat /tmp/tmp.K0lpBUVwOq + rm /tmp/tmp.JLdJyUAFWH /tmp/tmp.K0lpBUVwOq + return 0 2026-01-12T23:28:13.452Z INFO setup Manager starting up {"gitCommit": "7f9b8fd660ef537a8ff13f3505cffba918719e96", "gitBranch": "PR-1961-7f9b8fd6", "buildTime": "", "goVersion": "go1.25.5", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-17743 + local namespace=pitr-physical-backup-source-17743 + 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 + : ++ grep chaos-mesh ++ kubectl get clusterrolebinding ++ 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-17743' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-17743 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-17743 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.Cn8b2J3F7g ++ mktemp + local LAST_OUT=/tmp/tmp.0wbx8EAr4a + local LAST_ERR=/tmp/tmp.HJ5u80IPlw + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.4daO3S5xEM + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-17743 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Cn8b2J3F7g + cat /tmp/tmp.HJ5u80IPlw + rm /tmp/tmp.Cn8b2J3F7g /tmp/tmp.HJ5u80IPlw + 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.0wbx8EAr4a + cat /tmp/tmp.4daO3S5xEM + rm /tmp/tmp.0wbx8EAr4a /tmp/tmp.4daO3S5xEM + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-17743 ++ mktemp + local LAST_OUT=/tmp/tmp.pWhs1O1g6r ++ mktemp + local LAST_ERR=/tmp/tmp.ipYZdTYlEl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace pitr-physical-backup-source-17743 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pWhs1O1g6r + cat /tmp/tmp.ipYZdTYlEl + rm /tmp/tmp.pWhs1O1g6r /tmp/tmp.ipYZdTYlEl + return 0 + desc 'create namespace pitr-physical-backup-source-17743' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-17743 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-17743 ++ mktemp + local LAST_OUT=/tmp/tmp.Ev9xWf2qp4 ++ mktemp + local LAST_ERR=/tmp/tmp.ZPsMm5CQA7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace pitr-physical-backup-source-17743 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ev9xWf2qp4 namespace/pitr-physical-backup-source-17743 created + cat /tmp/tmp.ZPsMm5CQA7 + rm /tmp/tmp.Ev9xWf2qp4 /tmp/tmp.ZPsMm5CQA7 + return 0 + set_kube_ctx pitr-physical-backup-source-17743 + local namespace=pitr-physical-backup-source-17743 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.OLBA6A87ig +++ mktemp ++ local LAST_ERR=/tmp/tmp.MwpieWStMI ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.OLBA6A87ig ++ cat /tmp/tmp.MwpieWStMI ++ rm /tmp/tmp.OLBA6A87ig /tmp/tmp.MwpieWStMI ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5 --namespace=pitr-physical-backup-source-17743 ++ mktemp + local LAST_OUT=/tmp/tmp.7DwOSBoFal ++ mktemp + local LAST_ERR=/tmp/tmp.Edc1qieVAK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5 --namespace=pitr-physical-backup-source-17743 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7DwOSBoFal Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-7f9b8fd6-3-cluster5" modified. + cat /tmp/tmp.Edc1qieVAK + rm /tmp/tmp.7DwOSBoFal /tmp/tmp.Edc1qieVAK + return 0 + deploy_minio + desc 'install Minio' + set +o xtrace ----------------------------------------------------------------------------------- install Minio ----------------------------------------------------------------------------------- + helm uninstall minio-service Error: uninstall: Release not loaded: minio-service: release: not found + : + 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 + 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/.minio/ --set persistence.size=2G --set securityContext.enabled=false 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/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio NAME: minio-service LAST DEPLOYED: Mon Jan 12 23:28:51 2026 NAMESPACE: pitr-physical-backup-source-17743 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-17743.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-17743 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-17743 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-17743 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-17743 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.DrKyMtgZYu +++ mktemp ++ local LAST_ERR=/tmp/tmp.sm3kFbDcEH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.DrKyMtgZYu ++ cat /tmp/tmp.sm3kFbDcEH ++ rm /tmp/tmp.DrKyMtgZYu /tmp/tmp.sm3kFbDcEH ++ return 0 + MINIO_POD=minio-service-d9589b474-djhbv + wait_pod minio-service-d9589b474-djhbv + local pod=minio-service-d9589b474-djhbv + set +o xtrace waiting for pod/minio-service-d9589b474-djhbv 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-17743.svc.cluster.local --tcp=9000 ++ mktemp + local LAST_OUT=/tmp/tmp.kbmognPT8E ++ mktemp + local LAST_ERR=/tmp/tmp.nGf2U2HUsD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-physical-backup-source-17743.svc.cluster.local --tcp=9000 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kbmognPT8E service/minio-service created + cat /tmp/tmp.nGf2U2HUsD + rm /tmp/tmp.kbmognPT8E /tmp/tmp.nGf2U2HUsD + return 0 + create_minio_bucket operator-testing + local bucket=operator-testing + kubectl_bin run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.CAs7UdIrCG ++ mktemp + local LAST_ERR=/tmp/tmp.P07aQYGLv1 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --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.CAs7UdIrCG pod "aws-cli" deleted from pitr-physical-backup-source-17743 namespace + cat /tmp/tmp.P07aQYGLv1 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.CAs7UdIrCG /tmp/tmp.P07aQYGLv1 + 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-1961/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.r86onaEYgH ++ mktemp + local LAST_ERR=/tmp/tmp.vrvqY0Lapo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.r86onaEYgH secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.vrvqY0Lapo + rm /tmp/tmp.r86onaEYgH /tmp/tmp.vrvqY0Lapo + 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-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1961-7f9b8fd6"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-17743/g + local LAST_OUT=/tmp/tmp.9pmyV1lzNe + yq eval '.spec.upgradeOptions.apply="Never"' ++ mktemp + local LAST_ERR=/tmp/tmp.yBBtXHw2Lm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9pmyV1lzNe perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.yBBtXHw2Lm + rm /tmp/tmp.9pmyV1lzNe /tmp/tmp.yBBtXHw2Lm + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready........OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xrPs9i5Who +++ mktemp ++ local LAST_ERR=/tmp/tmp.gtEA0ooT5w ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xrPs9i5Who ++ cat /tmp/tmp.gtEA0ooT5w ++ rm /tmp/tmp.xrPs9i5Who /tmp/tmp.gtEA0ooT5w ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.KCR8DdTV4w +++ mktemp ++ local LAST_ERR=/tmp/tmp.2rT244Vb7u ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KCR8DdTV4w ++ cat /tmp/tmp.2rT244Vb7u ++ rm /tmp/tmp.KCR8DdTV4w /tmp/tmp.2rT244Vb7u ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pKWMuffZff +++ mktemp ++ local LAST_ERR=/tmp/tmp.OxJeGoIBFR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pKWMuffZff ++ cat /tmp/tmp.OxJeGoIBFR ++ rm /tmp/tmp.pKWMuffZff /tmp/tmp.OxJeGoIBFR ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness.................................... + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EsTvqp27p0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.X4wf6Gymyi ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EsTvqp27p0 ++ cat /tmp/tmp.X4wf6Gymyi ++ rm /tmp/tmp.EsTvqp27p0 /tmp/tmp.X4wf6Gymyi ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wlXBoQznMW +++ mktemp ++ local LAST_ERR=/tmp/tmp.OkkEfo1Z5p ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.wlXBoQznMW ++ cat /tmp/tmp.OkkEfo1Z5p ++ rm /tmp/tmp.wlXBoQznMW /tmp/tmp.OkkEfo1Z5p ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HZtWpzimqZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.CAlixgcdtr ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HZtWpzimqZ ++ cat /tmp/tmp.CAlixgcdtr ++ rm /tmp/tmp.HZtWpzimqZ /tmp/tmp.CAlixgcdtr ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + 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-17743 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743 + 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.mK2FWFO8wD +++ mktemp ++ local LAST_ERR=/tmp/tmp.SGZtOKB4Gh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mK2FWFO8wD ++ cat /tmp/tmp.SGZtOKB4Gh ++ rm /tmp/tmp.mK2FWFO8wD /tmp/tmp.SGZtOKB4Gh ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.rODTz7y7lW ++ mktemp + local LAST_ERR=/tmp/tmp.fBxzOuG2eC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rODTz7y7lW Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("cbf374bf-0b34-416d-b6d4-c8c6d4e1e6db") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.fBxzOuG2eC + rm /tmp/tmp.rODTz7y7lW /tmp/tmp.fBxzOuG2eC + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-01-12T23:32:48+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-17743 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.kjH9iFfNmP +++ mktemp ++ local LAST_ERR=/tmp/tmp.GVGEW6xWWV ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kjH9iFfNmP ++ cat /tmp/tmp.GVGEW6xWWV ++ rm /tmp/tmp.kjH9iFfNmP /tmp/tmp.GVGEW6xWWV ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.g5C4f8S6eD ++ mktemp + local LAST_ERR=/tmp/tmp.f31NgovKnl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g5C4f8S6eD Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("ab2fe9f2-b9a8-4339-b09a-bffa24f41bfa") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.f31NgovKnl + rm /tmp/tmp.g5C4f8S6eD /tmp/tmp.f31NgovKnl + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-01-12T23:32:50+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.2ZcdQpUeYC +++ mktemp ++ local LAST_ERR=/tmp/tmp.Wa7pnJiDA4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2ZcdQpUeYC ++ cat /tmp/tmp.Wa7pnJiDA4 ++ rm /tmp/tmp.2ZcdQpUeYC /tmp/tmp.Wa7pnJiDA4 ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.hZwKNjc2Vv ++ mktemp + local LAST_ERR=/tmp/tmp.iPUcBWHMar + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hZwKNjc2Vv + cat /tmp/tmp.iPUcBWHMar + rm /tmp/tmp.hZwKNjc2Vv /tmp/tmp.iPUcBWHMar + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.d0sdhSPuL3/find + wait_backup_agent some-name-rs0-0 + local agent_pod=some-name-rs0-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-0...2026-01-12T23:31:55.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-01-12T23:31:59.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-01-12T23:32:09.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-01-12T23:31:58.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-01-12T23:32:00.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-01-12T23:32:10.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-01-12T23:31:57.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-01-12T23:32:01.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-01-12T23:32:11.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-1961/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.sBkdQ8xbVd ++ mktemp + local LAST_ERR=/tmp/tmp.L1W8BgJY9d + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sBkdQ8xbVd perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.L1W8BgJY9d + rm /tmp/tmp.sBkdQ8xbVd /tmp/tmp.L1W8BgJY9d + 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.Smz60KOPDH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.v4okDg3OtR +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Smz60KOPDH +++ cat /tmp/tmp.v4okDg3OtR +++ rm /tmp/tmp.Smz60KOPDH /tmp/tmp.v4okDg3OtR +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] +++ 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.HX42XUqdnU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Jd4ORN7sRn +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.HX42XUqdnU +++ cat /tmp/tmp.Jd4ORN7sRn +++ rm /tmp/tmp.HX42XUqdnU /tmp/tmp.Jd4ORN7sRn +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] ++ let retry+=1 ++ [[ 2 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] +++ 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.59Vh0QZyd5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lh5jmkMhqp +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.59Vh0QZyd5 +++ cat /tmp/tmp.lh5jmkMhqp +++ rm /tmp/tmp.59Vh0QZyd5 /tmp/tmp.lh5jmkMhqp +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] ++ let retry+=1 ++ [[ 3 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] +++ 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.ytB5GzCNm1 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UrgG4yXnf4 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ytB5GzCNm1 +++ cat /tmp/tmp.UrgG4yXnf4 +++ rm /tmp/tmp.ytB5GzCNm1 /tmp/tmp.UrgG4yXnf4 +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] ++ let retry+=1 ++ [[ 4 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] +++ 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.wBoGjX9GPe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.AmXAWwf6JR +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.wBoGjX9GPe +++ cat /tmp/tmp.AmXAWwf6JR +++ rm /tmp/tmp.wBoGjX9GPe /tmp/tmp.AmXAWwf6JR +++ return 0 ++ first_timestamp=1768261182 ++ sleep 5 ++ [[ 1768261182 != '' ]] ++ [[ 1768261182 != \n\u\l\l ]] +++ 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.NaHXzaZyKc ++++ mktemp +++ local LAST_ERR=/tmp/tmp.kLstj6uqN9 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.NaHXzaZyKc +++ cat /tmp/tmp.kLstj6uqN9 +++ rm /tmp/tmp.NaHXzaZyKc /tmp/tmp.kLstj6uqN9 +++ return 0 ++ second_timestamp=1768261182 ++ let retry+=1 ++ [[ 5 -gt 30 ]] ++ [[ 1768261182 != '' ]] ++ [[ 1768261182 != \n\u\l\l ]] ++ [[ 1768261182 == 1768261182 ]] ++ /usr/sbin/date -u -d @1768261182 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-01-12T23:39:42Z ++ 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.RNYQzZVpqV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.tSRcXOryWn +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.RNYQzZVpqV +++ cat /tmp/tmp.tSRcXOryWn +++ rm /tmp/tmp.RNYQzZVpqV /tmp/tmp.tSRcXOryWn +++ return 0 ++ latestRestorableTime=2026-01-12T23:39:42Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-01-12T23:39:42Z != '' ]] ++ [[ 2026-01-12T23:39:42Z != \n\u\l\l ]] ++ echo 2026-01-12T23:39:42Z + backup_time=2026-01-12T23:39:42Z + [[ 2026-01-12T23:39:42Z != \2\0\2\6\-\0\1\-\1\2\T\2\3\:\3\9\:\4\2\Z ]] + 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-17743 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.lCuyqsaK08 +++ mktemp ++ local LAST_ERR=/tmp/tmp.DzuA4lKepY ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.lCuyqsaK08 ++ cat /tmp/tmp.DzuA4lKepY ++ rm /tmp/tmp.lCuyqsaK08 /tmp/tmp.DzuA4lKepY ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.85zhVRhbnY ++ mktemp + local LAST_ERR=/tmp/tmp.w4i8wL1WEQ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.85zhVRhbnY Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("17bef436-9cfa-4d26-8481-41eb29cb9114") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.w4i8wL1WEQ + rm /tmp/tmp.85zhVRhbnY /tmp/tmp.w4i8wL1WEQ + 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-01-12T23:40:10+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.estcz9Fh3z +++ mktemp ++ local LAST_ERR=/tmp/tmp.s4XdzYVzS4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.estcz9Fh3z ++ cat /tmp/tmp.s4XdzYVzS4 ++ rm /tmp/tmp.estcz9Fh3z /tmp/tmp.s4XdzYVzS4 ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.aAzf46rpIB ++ mktemp + local LAST_ERR=/tmp/tmp.Oh6OPM9hMM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aAzf46rpIB Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("b059980e-b10f-4308-b1a5-de0b0f87634a") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.Oh6OPM9hMM + rm /tmp/tmp.aAzf46rpIB /tmp/tmp.Oh6OPM9hMM + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-01-12T23:42:12+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 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-17743 + 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.T4UxlCTUpt +++ mktemp ++ local LAST_ERR=/tmp/tmp.CF1rDPRV89 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.T4UxlCTUpt ++ cat /tmp/tmp.CF1rDPRV89 ++ rm /tmp/tmp.T4UxlCTUpt /tmp/tmp.CF1rDPRV89 ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.uqR3OpXcMf ++ mktemp + local LAST_ERR=/tmp/tmp.ejGkmyaKzs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uqR3OpXcMf + cat /tmp/tmp.ejGkmyaKzs + rm /tmp/tmp.uqR3OpXcMf /tmp/tmp.ejGkmyaKzs + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.d0sdhSPuL3/find ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 mongodb '' --quiet ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 ++ 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.Lh8s7teeYT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UPn8uFg3m9 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Lh8s7teeYT +++ cat /tmp/tmp.UPn8uFg3m9 +++ rm /tmp/tmp.Lh8s7teeYT /tmp/tmp.UPn8uFg3m9 +++ return 0 ++ local client_container=psmdb-client-696897d69b-vcwwp ++ kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jqkR6FQwOG +++ mktemp ++ local LAST_ERR=/tmp/tmp.0WGAn5WQBF ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jqkR6FQwOG ++ cat /tmp/tmp.0WGAn5WQBF ++ rm /tmp/tmp.jqkR6FQwOG /tmp/tmp.0WGAn5WQBF ++ return 0 + time_now=1768261336 + check_recovery backup-minio-1 date 1768261336 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1768261336 + 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.FulXEpTuBc ++++ mktemp +++ local LAST_ERR=/tmp/tmp.udm5ZYTog4 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.FulXEpTuBc +++ cat /tmp/tmp.udm5ZYTog4 +++ rm /tmp/tmp.FulXEpTuBc /tmp/tmp.udm5ZYTog4 +++ return 0 ++ echo 1768261304 + local latest_ts=1768261304 + 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-17743 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.W6e3mcYGjn +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ly34MyEEc1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.W6e3mcYGjn ++ cat /tmp/tmp.Ly34MyEEc1 ++ rm /tmp/tmp.W6e3mcYGjn /tmp/tmp.Ly34MyEEc1 ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.karCfrv5RG ++ mktemp + local LAST_ERR=/tmp/tmp.5Y16GBtoFY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.karCfrv5RG Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("7104a9a1-9939-4829-afb2-07b20fefb7c2") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.5Y16GBtoFY + rm /tmp/tmp.karCfrv5RG /tmp/tmp.5Y16GBtoFY + return 0 + [[ -n 1768261336 ]] ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + desc 'Restoring to time 2026-01-12 23:42:16' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2026-01-12 23:42:16 ----------------------------------------------------------------------------------- + retries=0 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.MUTesLQAuz ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JdFbHKrLaS +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.MUTesLQAuz +++ cat /tmp/tmp.JdFbHKrLaS +++ rm /tmp/tmp.MUTesLQAuz /tmp/tmp.JdFbHKrLaS +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=1 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.nOlPT0sScF ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gjg86nLygB +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.nOlPT0sScF +++ cat /tmp/tmp.gjg86nLygB +++ rm /tmp/tmp.nOlPT0sScF /tmp/tmp.gjg86nLygB +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=2 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.BS6Y2m8UxT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9c3hoFWaTC +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.BS6Y2m8UxT +++ cat /tmp/tmp.9c3hoFWaTC +++ rm /tmp/tmp.BS6Y2m8UxT /tmp/tmp.9c3hoFWaTC +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=3 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.JcCICR4pav ++++ mktemp +++ local LAST_ERR=/tmp/tmp.BTFzGzKOqh +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.JcCICR4pav +++ cat /tmp/tmp.BTFzGzKOqh +++ rm /tmp/tmp.JcCICR4pav /tmp/tmp.BTFzGzKOqh +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=4 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.bFv9KWFxxr ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XnnQpq8Xnq +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.bFv9KWFxxr +++ cat /tmp/tmp.XnnQpq8Xnq +++ rm /tmp/tmp.bFv9KWFxxr /tmp/tmp.XnnQpq8Xnq +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=5 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.kpstQk39of ++++ mktemp +++ local LAST_ERR=/tmp/tmp.toWKu3q77K +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.kpstQk39of +++ cat /tmp/tmp.toWKu3q77K +++ rm /tmp/tmp.kpstQk39of /tmp/tmp.toWKu3q77K +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=6 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 6 -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.7bjayX0MKl ++++ mktemp +++ local LAST_ERR=/tmp/tmp.D7omo3KOtN +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.7bjayX0MKl +++ cat /tmp/tmp.D7omo3KOtN +++ rm /tmp/tmp.7bjayX0MKl /tmp/tmp.D7omo3KOtN +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=7 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 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.ODLt6GiEFI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.FRhW5ZEVz8 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ODLt6GiEFI +++ cat /tmp/tmp.FRhW5ZEVz8 +++ rm /tmp/tmp.ODLt6GiEFI /tmp/tmp.FRhW5ZEVz8 +++ return 0 ++ echo 1768261304 + latest_ts=1768261304 + retries=8 ++ format_date 1768261304 ++ local timestamp=1768261304 +++ TZ=UTC +++ /usr/sbin/date -d@1768261304 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261304 -gt 1768261336 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.cifAF0Hj9B ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Ql1tes3TDj +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.cifAF0Hj9B +++ cat /tmp/tmp.Ql1tes3TDj +++ rm /tmp/tmp.cifAF0Hj9B /tmp/tmp.Ql1tes3TDj +++ return 0 ++ echo 1768261312 + latest_ts=1768261312 + retries=9 ++ format_date 1768261312 ++ local timestamp=1768261312 +++ TZ=UTC +++ /usr/sbin/date -d@1768261312 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:41:52 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:41:52) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:41:52) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261312 -gt 1768261336 ]] + [[ 9 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.IHldQphGoI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OugyxcwZAQ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.IHldQphGoI +++ cat /tmp/tmp.OugyxcwZAQ +++ rm /tmp/tmp.IHldQphGoI /tmp/tmp.OugyxcwZAQ +++ return 0 ++ echo 1768261322 + latest_ts=1768261322 + retries=10 ++ format_date 1768261322 ++ local timestamp=1768261322 +++ TZ=UTC +++ /usr/sbin/date -d@1768261322 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:02 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:42:02) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:42:02) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261322 -gt 1768261336 ]] + [[ 10 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ripMFamTxy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XgDyaTa2H6 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ripMFamTxy +++ cat /tmp/tmp.XgDyaTa2H6 +++ rm /tmp/tmp.ripMFamTxy /tmp/tmp.XgDyaTa2H6 +++ return 0 ++ echo 1768261424 + latest_ts=1768261424 + retries=11 ++ format_date 1768261424 ++ local timestamp=1768261424 +++ TZ=UTC +++ /usr/sbin/date -d@1768261424 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:43:44 ++ format_date 1768261336 ++ local timestamp=1768261336 +++ TZ=UTC +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:42:16 + echo 'Waiting for last oplog chunk (2026-01-12 23:43:44) to be greater than restore target (2026-01-12 23:42:16)' Waiting for last oplog chunk (2026-01-12 23:43:44) to be greater than restore target (2026-01-12 23:42:16) + sleep 10 + [[ 1768261424 -gt 1768261336 ]] + '[' -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}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' +++ mktemp ++ sed 's|azure://||' ++ sed 's|gs://||' ++ local LAST_OUT=/tmp/tmp.9vHojF1dXJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.Z44Wa8NzFe ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9vHojF1dXJ ++ cat /tmp/tmp.Z44Wa8NzFe ++ rm /tmp/tmp.9vHojF1dXJ /tmp/tmp.Z44Wa8NzFe ++ return 0 + backup_dest=operator-testing/2026-01-12T23:39:06Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/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 1768261336 ']' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-01-12T23:39:06Z|' + kubectl_bin apply -f - ++ format_date 1768261336 ++ mktemp + '[' -n '' ']' + yq ++ get_bucket_name backup-minio-1 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' ++ local timestamp=1768261336 +++ mktemp +++ TZ=UTC + local LAST_OUT=/tmp/tmp.YnDDTZmpqV +++ /usr/sbin/date -d@1768261336 '+%Y-%m-%d %H:%M:%S' ++ mktemp ++ local LAST_OUT=/tmp/tmp.8csThjzZKp +++ mktemp + local LAST_ERR=/tmp/tmp.BsYZmXewUv + local exit_status=0 + local timeout=4 ++ echo 2026-01-12 23:42:16 ++ seq 0 2 + /usr/sbin/sed -e 's/date:/date: 2026-01-12 23:42:16/' ++ local LAST_ERR=/tmp/tmp.DCynggpP8L ++ local exit_status=0 ++ local timeout=4 + for i in $(seq 0 2) + set +e +++ seq 0 2 + 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.8csThjzZKp ++ cat /tmp/tmp.DCynggpP8L ++ rm /tmp/tmp.8csThjzZKp /tmp/tmp.DCynggpP8L ++ 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.YnDDTZmpqV perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.BsYZmXewUv + rm /tmp/tmp.YnDDTZmpqV /tmp/tmp.BsYZmXewUv + return 0 + wait_restore backup-minio-1 some-name requested 0 1200 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be created.OK Waiting psmdb-restore/restore-backup-minio-1 to reach state "requested" .........OK after 8 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-1 some-name ready 0 1600 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be created.OK Waiting psmdb-restore/restore-backup-minio-1 to reach state "ready" ...OK after 2 minutes + [[ 0 -eq 1 ]] + echo + set -o xtrace + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TnOgStNA1x +++ mktemp ++ local LAST_ERR=/tmp/tmp.FKuSErM9eS ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TnOgStNA1x ++ cat /tmp/tmp.FKuSErM9eS ++ rm /tmp/tmp.TnOgStNA1x /tmp/tmp.FKuSErM9eS ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready...........OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7AlBEZrQPU +++ mktemp ++ local LAST_ERR=/tmp/tmp.UMLCn6sXnm ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7AlBEZrQPU ++ cat /tmp/tmp.UMLCn6sXnm ++ rm /tmp/tmp.7AlBEZrQPU /tmp/tmp.UMLCn6sXnm ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.z7EnyssxeV +++ mktemp ++ local LAST_ERR=/tmp/tmp.z2SI4yR0RY ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.z7EnyssxeV ++ cat /tmp/tmp.z2SI4yR0RY ++ rm /tmp/tmp.z7EnyssxeV /tmp/tmp.z2SI4yR0RY ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness......... + wait_for_running some-name-cfg 3 + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.38w2c3VeOT +++ mktemp ++ local LAST_ERR=/tmp/tmp.5oKNIRjblb ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.38w2c3VeOT ++ cat /tmp/tmp.5oKNIRjblb ++ rm /tmp/tmp.38w2c3VeOT /tmp/tmp.5oKNIRjblb ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.b7JzO63lhK +++ mktemp ++ local LAST_ERR=/tmp/tmp.2LEUk4N2o6 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.b7JzO63lhK ++ cat /tmp/tmp.2LEUk4N2o6 ++ rm /tmp/tmp.b7JzO63lhK /tmp/tmp.2LEUk4N2o6 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MB7rWptZ2S +++ mktemp ++ local LAST_ERR=/tmp/tmp.BcsDuxotKJ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MB7rWptZ2S ++ cat /tmp/tmp.BcsDuxotKJ ++ rm /tmp/tmp.MB7rWptZ2S /tmp/tmp.BcsDuxotKJ ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4U5q7tbNqv +++ mktemp ++ local LAST_ERR=/tmp/tmp.bAYi0wt9BY ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4U5q7tbNqv ++ cat /tmp/tmp.bAYi0wt9BY ++ rm /tmp/tmp.4U5q7tbNqv /tmp/tmp.bAYi0wt9BY ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hL8JXSQhHG +++ mktemp ++ local LAST_ERR=/tmp/tmp.C4eFFYQ49b ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hL8JXSQhHG ++ cat /tmp/tmp.C4eFFYQ49b ++ rm /tmp/tmp.hL8JXSQhHG /tmp/tmp.C4eFFYQ49b ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Yo8ojrPMqZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.APorXDEbst ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Yo8ojrPMqZ ++ cat /tmp/tmp.APorXDEbst ++ rm /tmp/tmp.Yo8ojrPMqZ /tmp/tmp.APorXDEbst ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 '' + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-01-12T23:58:19+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.EuSOkXitT6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.fyvggGCLKa ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EuSOkXitT6 ++ cat /tmp/tmp.fyvggGCLKa ++ rm /tmp/tmp.EuSOkXitT6 /tmp/tmp.fyvggGCLKa ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.PEt2fiRoGR ++ mktemp + local LAST_ERR=/tmp/tmp.eRAr65cyJy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PEt2fiRoGR + cat /tmp/tmp.eRAr65cyJy + rm /tmp/tmp.PEt2fiRoGR /tmp/tmp.eRAr65cyJy + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.d0sdhSPuL3/find + desc 'delete PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster some-name ----------------------------------------------------------------------------------- + kubectl_bin delete psmdb some-name ++ mktemp + local LAST_OUT=/tmp/tmp.T8VA7vqCUu ++ mktemp + local LAST_ERR=/tmp/tmp.7cMwYR0stT + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb some-name + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.T8VA7vqCUu perconaservermongodb.psmdb.percona.com "some-name" deleted from pitr-physical-backup-source-17743 namespace + cat /tmp/tmp.7cMwYR0stT + rm /tmp/tmp.T8VA7vqCUu /tmp/tmp.7cMwYR0stT + return 0 + kubectl_bin delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.uSblIySlbW ++ mktemp + local LAST_ERR=/tmp/tmp.PwqeItl8vM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uSblIySlbW persistentvolumeclaim "mongod-data-some-name-cfg-0" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-cfg-1" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-cfg-2" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs0-0" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs0-1" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs0-2" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs1-0" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs1-1" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs1-2" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs2-0" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs2-1" deleted from pitr-physical-backup-source-17743 namespace persistentvolumeclaim "mongod-data-some-name-rs2-2" deleted from pitr-physical-backup-source-17743 namespace + cat /tmp/tmp.PwqeItl8vM + rm /tmp/tmp.uSblIySlbW /tmp/tmp.PwqeItl8vM + return 0 + sleep 10 + desc 'recreate PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- recreate PSMDB cluster some-name ----------------------------------------------------------------------------------- + desc 'create second PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create second PSMDB cluster some-name ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1961-7f9b8fd6"' ++ mktemp + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-17743/g + local LAST_OUT=/tmp/tmp.tVewmUan2I ++ mktemp + local LAST_ERR=/tmp/tmp.69NHqDVAsu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tVewmUan2I perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.69NHqDVAsu + rm /tmp/tmp.tVewmUan2I /tmp/tmp.69NHqDVAsu + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.........OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.....OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FX9833OK5v +++ mktemp ++ local LAST_ERR=/tmp/tmp.kaw5hm6Uwt ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FX9833OK5v ++ cat /tmp/tmp.kaw5hm6Uwt ++ rm /tmp/tmp.FX9833OK5v /tmp/tmp.kaw5hm6Uwt ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5WDxgHCtYt +++ mktemp ++ local LAST_ERR=/tmp/tmp.t4fwtEIvBW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5WDxgHCtYt ++ cat /tmp/tmp.t4fwtEIvBW ++ rm /tmp/tmp.5WDxgHCtYt /tmp/tmp.t4fwtEIvBW ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.efss7TCH3I +++ mktemp ++ local LAST_ERR=/tmp/tmp.gKfK5ZftnR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.efss7TCH3I ++ cat /tmp/tmp.gKfK5ZftnR ++ rm /tmp/tmp.efss7TCH3I /tmp/tmp.gKfK5ZftnR ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness.................................................... + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZEuffHUBFO +++ mktemp ++ local LAST_ERR=/tmp/tmp.hbpDqSZdX5 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZEuffHUBFO ++ cat /tmp/tmp.hbpDqSZdX5 ++ rm /tmp/tmp.ZEuffHUBFO /tmp/tmp.hbpDqSZdX5 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.KRba0gWcsb +++ mktemp ++ local LAST_ERR=/tmp/tmp.dUKRNBc8dO ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KRba0gWcsb ++ cat /tmp/tmp.dUKRNBc8dO ++ rm /tmp/tmp.KRba0gWcsb /tmp/tmp.dUKRNBc8dO ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fFVezKyh4U +++ mktemp ++ local LAST_ERR=/tmp/tmp.Bgh34ZZWO5 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fFVezKyh4U ++ cat /tmp/tmp.Bgh34ZZWO5 ++ rm /tmp/tmp.fFVezKyh4U /tmp/tmp.Bgh34ZZWO5 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + wait_for_running some-name-rs1 3 + local name=some-name-rs1 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs1 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs1-0 + local pod=some-name-rs1-0 + set +o xtrace waiting for pod/some-name-rs1-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs1-1 + local pod=some-name-rs1-1 + set +o xtrace waiting for pod/some-name-rs1-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jQeXqDCroj +++ mktemp ++ local LAST_ERR=/tmp/tmp.ToER7aNdWi ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jQeXqDCroj ++ cat /tmp/tmp.ToER7aNdWi ++ rm /tmp/tmp.jQeXqDCroj /tmp/tmp.ToER7aNdWi ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs1-2 + local pod=some-name-rs1-2 + set +o xtrace waiting for pod/some-name-rs1-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mEhoB1Py1T +++ mktemp ++ local LAST_ERR=/tmp/tmp.4a1Pf5FRvX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mEhoB1Py1T ++ cat /tmp/tmp.4a1Pf5FRvX ++ rm /tmp/tmp.mEhoB1Py1T /tmp/tmp.4a1Pf5FRvX ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dULI0JgY0C +++ mktemp ++ local LAST_ERR=/tmp/tmp.uuu118vurq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs1")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dULI0JgY0C ++ cat /tmp/tmp.uuu118vurq ++ rm /tmp/tmp.dULI0JgY0C /tmp/tmp.uuu118vurq ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + wait_for_running some-name-rs2 3 + local name=some-name-rs2 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs2 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs2-0 + local pod=some-name-rs2-0 + set +o xtrace waiting for pod/some-name-rs2-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs2-1 + local pod=some-name-rs2-1 + set +o xtrace waiting for pod/some-name-rs2-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1p6q9UVFAa +++ mktemp ++ local LAST_ERR=/tmp/tmp.BnzWq1uo3U ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1p6q9UVFAa ++ cat /tmp/tmp.BnzWq1uo3U ++ rm /tmp/tmp.1p6q9UVFAa /tmp/tmp.BnzWq1uo3U ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs2-2 + local pod=some-name-rs2-2 + set +o xtrace waiting for pod/some-name-rs2-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rwpeio2skW +++ mktemp ++ local LAST_ERR=/tmp/tmp.BxXltkJcG7 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rwpeio2skW ++ cat /tmp/tmp.BxXltkJcG7 ++ rm /tmp/tmp.rwpeio2skW /tmp/tmp.BxXltkJcG7 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mMAtuW6Nv1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.W3leqLspi8 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs2")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mMAtuW6Nv1 ++ cat /tmp/tmp.W3leqLspi8 ++ rm /tmp/tmp.mMAtuW6Nv1 /tmp/tmp.W3leqLspi8 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + sleep 10 + write_initial_data + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743 + 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.do8mmOcD8g +++ mktemp ++ local LAST_ERR=/tmp/tmp.pgyY542hEw ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.do8mmOcD8g ++ cat /tmp/tmp.pgyY542hEw ++ rm /tmp/tmp.do8mmOcD8g /tmp/tmp.pgyY542hEw ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.MxiQYa3CeB ++ mktemp + local LAST_ERR=/tmp/tmp.c5U80YSVNn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MxiQYa3CeB Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("0f6697c6-97ab-492c-84e1-64612beb612d") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.c5U80YSVNn + rm /tmp/tmp.MxiQYa3CeB /tmp/tmp.c5U80YSVNn + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-01-13T00:03:18+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-17743 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.bECT6pFTAM +++ mktemp ++ local LAST_ERR=/tmp/tmp.UAufGftaRh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bECT6pFTAM ++ cat /tmp/tmp.UAufGftaRh ++ rm /tmp/tmp.bECT6pFTAM /tmp/tmp.UAufGftaRh ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.9F0sPj65NW ++ mktemp + local LAST_ERR=/tmp/tmp.yWDPEv7x5w + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9F0sPj65NW Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("96e6cccc-13fb-4c52-b5f9-dc14e3934898") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.yWDPEv7x5w + rm /tmp/tmp.9F0sPj65NW /tmp/tmp.yWDPEv7x5w + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-01-13T00:03:21+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.E5P1Coeyru +++ mktemp ++ local LAST_ERR=/tmp/tmp.twrDK56HgV ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.E5P1Coeyru ++ cat /tmp/tmp.twrDK56HgV ++ rm /tmp/tmp.E5P1Coeyru /tmp/tmp.twrDK56HgV ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.27BbShXsI2 ++ mktemp + local LAST_ERR=/tmp/tmp.mVUcU77AJr + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.27BbShXsI2 + cat /tmp/tmp.mVUcU77AJr + rm /tmp/tmp.27BbShXsI2 /tmp/tmp.mVUcU77AJr + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.d0sdhSPuL3/find + desc 'restore pitr type latest using backupSource' + set +o xtrace ----------------------------------------------------------------------------------- restore pitr type latest using backupSource ----------------------------------------------------------------------------------- + write_document -2nd + local cmp_postfix=-2nd + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-01-13T00:03:23+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-17743 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.qeq1dXvHiG +++ mktemp ++ local LAST_ERR=/tmp/tmp.zQrcVD0qoB ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qeq1dXvHiG ++ cat /tmp/tmp.zQrcVD0qoB ++ rm /tmp/tmp.qeq1dXvHiG /tmp/tmp.zQrcVD0qoB ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.nZKS8IF1yz ++ mktemp + local LAST_ERR=/tmp/tmp.66hCt1Z3ch + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.nZKS8IF1yz Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5c6c07a4-5e7f-4136-bf77-d6367c57f662") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.66hCt1Z3ch + rm /tmp/tmp.nZKS8IF1yz /tmp/tmp.66hCt1Z3ch + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-01-13T00:03:25+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.96gsuLOGsW +++ mktemp ++ local LAST_ERR=/tmp/tmp.S6oPzhKO4a ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.96gsuLOGsW ++ cat /tmp/tmp.S6oPzhKO4a ++ rm /tmp/tmp.96gsuLOGsW /tmp/tmp.S6oPzhKO4a ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.1VRLwkhi9Q ++ mktemp + local LAST_ERR=/tmp/tmp.hMhU3NmI27 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1VRLwkhi9Q + cat /tmp/tmp.hMhU3NmI27 + rm /tmp/tmp.1VRLwkhi9Q /tmp/tmp.hMhU3NmI27 + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/compare/find-2nd.json /tmp/tmp.d0sdhSPuL3/find-2nd + run_backup backup-minio 2 physical + local name=backup-minio + local idx=2 + local type=physical + desc 'run backup backup-minio-2' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-2 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/backup-minio.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-2/' + /usr/sbin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.ejj9RIpQOz ++ mktemp + local LAST_ERR=/tmp/tmp.yDG7xLXnzc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ejj9RIpQOz perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.yDG7xLXnzc + rm /tmp/tmp.ejj9RIpQOz /tmp/tmp.yDG7xLXnzc + return 0 + wait_backup backup-minio-2 + local backup_name=backup-minio-2 + local target_state=ready + set +o xtrace waiting for backup-minio-2 to reach ready state.........OK + compare_latest_restorable_time some-name-rs0 backup-minio-2 + local cluster=some-name-rs0 + local backup_name=backup-minio-2 + local latest_restorable_time + local backup_time ++ get_latest_restorable_time some-name-rs0 ++ local cluster=some-name-rs0 ++ local first_timestamp ++ local second_timestamp ++ local retry=0 ++ [[ '' != '' ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.XweCil2bOa ++++ mktemp +++ local LAST_ERR=/tmp/tmp.tvCWZFeIeB +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.XweCil2bOa +++ cat /tmp/tmp.tvCWZFeIeB +++ rm /tmp/tmp.XweCil2bOa /tmp/tmp.tvCWZFeIeB +++ return 0 ++ first_timestamp=1768261498 ++ sleep 5 ++ [[ 1768261498 != '' ]] ++ [[ 1768261498 != \n\u\l\l ]] +++ 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.pLKWdHUeOt ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IUJ5r5B4qc +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.pLKWdHUeOt +++ cat /tmp/tmp.IUJ5r5B4qc +++ rm /tmp/tmp.pLKWdHUeOt /tmp/tmp.IUJ5r5B4qc +++ return 0 ++ second_timestamp=1768261498 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1768261498 != '' ]] ++ [[ 1768261498 != \n\u\l\l ]] ++ [[ 1768261498 == 1768261498 ]] ++ /usr/sbin/date -u -d @1768261498 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-01-12T23:44:58Z ++ get_latest_restorable_time_from_backup_object backup-minio-2 ++ local backup_name=backup-minio-2 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.4lgND5wEJ8 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.48bSlG9u0X +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb-backup backup-minio-2 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.4lgND5wEJ8 +++ cat /tmp/tmp.48bSlG9u0X +++ rm /tmp/tmp.4lgND5wEJ8 /tmp/tmp.48bSlG9u0X +++ return 0 ++ latestRestorableTime=2026-01-12T23:44:58Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-01-12T23:44:58Z != '' ]] ++ [[ 2026-01-12T23:44:58Z != \n\u\l\l ]] ++ echo 2026-01-12T23:44:58Z + backup_time=2026-01-12T23:44:58Z + [[ 2026-01-12T23:44:58Z != \2\0\2\6\-\0\1\-\1\2\T\2\3\:\4\4\:\5\8\Z ]] + check_recovery backup-minio-2 latest '' -3rd some-name backupSource + local backup_name=backup-minio-2 + local restore_type=latest + local restore_date= + local cmp_postfix=-3rd + local cluster_name=some-name + local backupSource=backupSource ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.oNafXoMU3J ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NKzRuRz6xz +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.oNafXoMU3J +++ cat /tmp/tmp.NKzRuRz6xz +++ rm /tmp/tmp.oNafXoMU3J /tmp/tmp.NKzRuRz6xz +++ return 0 ++ echo 1768261498 + local latest_ts=1768261498 + desc 'write more data before restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- write more data before restore by latest ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743 + 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.7DJiLzYO00 +++ mktemp ++ local LAST_ERR=/tmp/tmp.c6QrQBImtz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7DJiLzYO00 ++ cat /tmp/tmp.c6QrQBImtz ++ rm /tmp/tmp.7DJiLzYO00 /tmp/tmp.c6QrQBImtz ++ return 0 + local client_container=psmdb-client-696897d69b-vcwwp + kubectl_bin exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.tQb4fkSopG ++ mktemp + local LAST_ERR=/tmp/tmp.4cyVTQYR30 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-696897d69b-vcwwp -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tQb4fkSopG Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-17743.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2c6b9d3b-197e-4762-b198-9b3ad85531b2") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.4cyVTQYR30 + rm /tmp/tmp.tQb4fkSopG /tmp/tmp.4cyVTQYR30 + return 0 + [[ -n '' ]] + desc 'Restoring to latest' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to latest ----------------------------------------------------------------------------------- ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.tD4anCwzYf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VFj9OjAZov +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.tD4anCwzYf +++ cat /tmp/tmp.VFj9OjAZov +++ rm /tmp/tmp.tD4anCwzYf /tmp/tmp.VFj9OjAZov +++ return 0 ++ echo 1768261498 + local current_ts=1768261498 + retries=0 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.tNqHOgBb0Z ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VgRQ3AAfbU +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.tNqHOgBb0Z +++ cat /tmp/tmp.VgRQ3AAfbU +++ rm /tmp/tmp.tNqHOgBb0Z /tmp/tmp.VgRQ3AAfbU +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=1 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ local LAST_OUT=/tmp/tmp.F2UK0oDibW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.POyolGJLSh +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.F2UK0oDibW +++ cat /tmp/tmp.POyolGJLSh +++ rm /tmp/tmp.F2UK0oDibW /tmp/tmp.POyolGJLSh +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=2 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.V5H1mGD6u0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OU8XC4eSlP +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.V5H1mGD6u0 +++ cat /tmp/tmp.OU8XC4eSlP +++ rm /tmp/tmp.V5H1mGD6u0 /tmp/tmp.OU8XC4eSlP +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=3 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.cUn3UqjMAu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aiYi46HzGd +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.cUn3UqjMAu +++ cat /tmp/tmp.aiYi46HzGd +++ rm /tmp/tmp.cUn3UqjMAu /tmp/tmp.aiYi46HzGd +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=4 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.F3jyVJnwh5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gOzsjsEV3l +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.F3jyVJnwh5 +++ cat /tmp/tmp.gOzsjsEV3l +++ rm /tmp/tmp.F3jyVJnwh5 /tmp/tmp.gOzsjsEV3l +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=5 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.T2WJAi98Tw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UJvdOTK582 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.T2WJAi98Tw +++ cat /tmp/tmp.UJvdOTK582 +++ rm /tmp/tmp.T2WJAi98Tw /tmp/tmp.UJvdOTK582 +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=6 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.X7RFnJmBBz ++++ mktemp +++ local LAST_ERR=/tmp/tmp.2qIZopjubd +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.X7RFnJmBBz +++ cat /tmp/tmp.2qIZopjubd +++ rm /tmp/tmp.X7RFnJmBBz /tmp/tmp.2qIZopjubd +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=7 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 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.mFEAs0vdYy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ppjdQtnGC1 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.mFEAs0vdYy +++ cat /tmp/tmp.ppjdQtnGC1 +++ rm /tmp/tmp.mFEAs0vdYy /tmp/tmp.ppjdQtnGC1 +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=8 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Q4uqRhi5BV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.6v0rTTNGUU +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Q4uqRhi5BV +++ cat /tmp/tmp.6v0rTTNGUU +++ rm /tmp/tmp.Q4uqRhi5BV /tmp/tmp.6v0rTTNGUU +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=9 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 9 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.0hkfVn23Ni ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UVezuokDQM +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.0hkfVn23Ni +++ cat /tmp/tmp.UVezuokDQM +++ rm /tmp/tmp.0hkfVn23Ni /tmp/tmp.UVezuokDQM +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=10 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 10 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.vzRcTw7LvQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mHcD86423x +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.vzRcTw7LvQ +++ cat /tmp/tmp.mHcD86423x +++ rm /tmp/tmp.vzRcTw7LvQ /tmp/tmp.mHcD86423x +++ return 0 ++ echo 1768261498 + latest_ts=1768261498 + retries=11 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-12 23:44:58) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768261498 -gt 1768261498 ]] + [[ 11 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.jw7DXpQkMk ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ipGVlTEraQ +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.jw7DXpQkMk +++ cat /tmp/tmp.ipGVlTEraQ +++ rm /tmp/tmp.jw7DXpQkMk /tmp/tmp.ipGVlTEraQ +++ return 0 ++ echo 1768262756 + latest_ts=1768262756 + retries=12 ++ format_date 1768262756 ++ local timestamp=1768262756 +++ TZ=UTC +++ /usr/sbin/date -d@1768262756 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-13 00:05:56 ++ format_date 1768261498 ++ local timestamp=1768261498 +++ TZ=UTC +++ /usr/sbin/date -d@1768261498 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-01-12 23:44:58 + echo 'Waiting for last oplog chunk (2026-01-13 00:05:56) to be 120 seconds older than starting chunk (2026-01-12 23:44:58)' Waiting for last oplog chunk (2026-01-13 00:05:56) to be 120 seconds older than starting chunk (2026-01-12 23:44:58) + sleep 10 + [[ 1768262756 -gt 1768261498 ]] + '[' -z backupSource ']' + desc 'check restore by latest backupSource' + set +o xtrace ----------------------------------------------------------------------------------- check restore by latest backupSource ----------------------------------------------------------------------------------- ++ get_backup_dest backup-minio-2 ++ local backup_name=backup-minio-2 ++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' ++ sed 's|azure://||' +++ mktemp ++ sed 's|gs://||' ++ local LAST_OUT=/tmp/tmp.GwPzWc5pPl +++ mktemp ++ local LAST_ERR=/tmp/tmp.yEWMPRmddz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-2 -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.GwPzWc5pPl ++ cat /tmp/tmp.yEWMPRmddz ++ rm /tmp/tmp.GwPzWc5pPl /tmp/tmp.yEWMPRmddz ++ return 0 + backup_dest=operator-testing/2026-01-13T00:03:29Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/pitr-physical-backup-source/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-2/' + /usr/sbin/sed -e /backupName/d + /usr/sbin/sed -e 's/pitrType:/type: latest/' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-01-13T00:03:29Z|' + '[' -n '' ']' + yq + '[' -z '' ']' + /usr/sbin/sed -e /date:/d + kubectl_bin apply -f - ++ get_bucket_name backup-minio-2 ++ local backup_name=backup-minio-2 ++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.s3.bucket}' ++ mktemp +++ mktemp + local LAST_OUT=/tmp/tmp.5UHPDUKo8C ++ local LAST_OUT=/tmp/tmp.LRS0cAlVmw ++ mktemp +++ mktemp + local LAST_ERR=/tmp/tmp.STLJw4fcBI + local exit_status=0 + local timeout=4 ++ local LAST_ERR=/tmp/tmp.spRSQoJ7Wi ++ local exit_status=0 ++ local timeout=4 ++ seq 0 2 +++ 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-2 -o 'jsonpath={.status.s3.bucket}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LRS0cAlVmw ++ cat /tmp/tmp.spRSQoJ7Wi ++ rm /tmp/tmp.LRS0cAlVmw /tmp/tmp.spRSQoJ7Wi ++ 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.5UHPDUKo8C perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-2 created + cat /tmp/tmp.STLJw4fcBI + rm /tmp/tmp.5UHPDUKo8C /tmp/tmp.STLJw4fcBI + return 0 + wait_restore backup-minio-2 some-name requested 0 1200 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be created.OK Waiting psmdb-restore/restore-backup-minio-2 to reach state "requested" .........OK after 8 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-2 some-name ready 0 1600 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be created.OK Waiting psmdb-restore/restore-backup-minio-2 to reach state "ready" ...OK after 2 minutes + [[ 0 -eq 1 ]] + echo + set -o xtrace + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YgsgzkNP0G +++ mktemp ++ local LAST_ERR=/tmp/tmp.lC056OMu3o ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YgsgzkNP0G ++ cat /tmp/tmp.lC056OMu3o ++ rm /tmp/tmp.YgsgzkNP0G /tmp/tmp.lC056OMu3o ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EawxgbSFGF +++ mktemp ++ local LAST_ERR=/tmp/tmp.siTviaVsTL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EawxgbSFGF ++ cat /tmp/tmp.siTviaVsTL ++ rm /tmp/tmp.EawxgbSFGF /tmp/tmp.siTviaVsTL ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ezaTvxiyMo +++ mktemp ++ local LAST_ERR=/tmp/tmp.rHkUeLJDdw ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ezaTvxiyMo ++ cat /tmp/tmp.rHkUeLJDdw ++ rm /tmp/tmp.ezaTvxiyMo /tmp/tmp.rHkUeLJDdw ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness....................................