Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/logs/pitr-physical-backup-source.log Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-backup-source-27797 + local ns=pitr-physical-backup-source-27797 + [[ 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-2283/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.ZIWlPfkhFB ++ mktemp + local LAST_ERR=/tmp/tmp.LcQ5G8KCTf + 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-2283/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZIWlPfkhFB 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.LcQ5G8KCTf + rm /tmp/tmp.ZIWlPfkhFB /tmp/tmp.LcQ5G8KCTf + return 0 ++ grep -v '\-\-\-' ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/deploy/crd.yaml grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + grep -v NAMESPACE + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.CmDVt0Nf6n ++ mktemp + local LAST_ERR=/tmp/tmp.4fEzf71vcB + 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.CmDVt0Nf6n + cat /tmp/tmp.4fEzf71vcB + rm /tmp/tmp.CmDVt0Nf6n /tmp/tmp.4fEzf71vcB + 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.ZZqc0HtiCn ++ mktemp + local LAST_ERR=/tmp/tmp.7nsEFWe4ab + 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.ZZqc0HtiCn + cat /tmp/tmp.7nsEFWe4ab + rm /tmp/tmp.ZZqc0HtiCn /tmp/tmp.7nsEFWe4ab + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + grep -v NAMESPACE + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + 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.M10HphSgtT ++ mktemp + local LAST_ERR=/tmp/tmp.UumUkrvVnA + 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.M10HphSgtT + cat /tmp/tmp.UumUkrvVnA + rm /tmp/tmp.M10HphSgtT /tmp/tmp.UumUkrvVnA + 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-2283/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.gADiBYjAFl ++ mktemp + local LAST_ERR=/tmp/tmp.6EObS1RKpv + 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-2283/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gADiBYjAFl 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.6EObS1RKpv + rm /tmp/tmp.gADiBYjAFl /tmp/tmp.6EObS1RKpv + return 0 + check_crd_for_deletion PR-2283-73ca3795 + local git_tag=PR-2283-73ca3795 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2283-73ca3795/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.JlZT8RgyZH +++ mktemp ++ local LAST_ERR=/tmp/tmp.k6TtEFTFVJ ++ 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.JlZT8RgyZH ++ cat /tmp/tmp.k6TtEFTFVJ 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.JlZT8RgyZH ++ cat /tmp/tmp.k6TtEFTFVJ 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.JlZT8RgyZH ++ cat /tmp/tmp.k6TtEFTFVJ Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.JlZT8RgyZH ++ cat /tmp/tmp.k6TtEFTFVJ Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.JlZT8RgyZH /tmp/tmp.k6TtEFTFVJ ++ return 1 + [[ '' == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' ++ mktemp + awk '{print$1}' + xargs kubectl delete ns + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.gJ8Y0lCM85 + local LAST_OUT=/tmp/tmp.rzcungKMx3 ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.c9O1jtvEbf + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.hLt2K7SgOR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gJ8Y0lCM85 + cat /tmp/tmp.c9O1jtvEbf + rm /tmp/tmp.gJ8Y0lCM85 /tmp/tmp.c9O1jtvEbf + return 0 namespace "pitr-physical-backup-source-20779" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rzcungKMx3 namespace "psmdb-operator" deleted + cat /tmp/tmp.hLt2K7SgOR + rm /tmp/tmp.rzcungKMx3 /tmp/tmp.hLt2K7SgOR + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.L9XfUmDbyS ++ mktemp + local LAST_ERR=/tmp/tmp.msgnUrpMI4 + 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.L9XfUmDbyS + cat /tmp/tmp.msgnUrpMI4 + rm /tmp/tmp.L9XfUmDbyS /tmp/tmp.msgnUrpMI4 + 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.N6SBWWmDfy ++ mktemp + local LAST_ERR=/tmp/tmp.hVxAQvWD8x + 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.N6SBWWmDfy namespace/psmdb-operator created + cat /tmp/tmp.hVxAQvWD8x + rm /tmp/tmp.N6SBWWmDfy /tmp/tmp.hVxAQvWD8x + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.GNTwkcbU3B +++ mktemp ++ local LAST_ERR=/tmp/tmp.rgCnpxevJW ++ 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.GNTwkcbU3B ++ cat /tmp/tmp.rgCnpxevJW ++ rm /tmp/tmp.GNTwkcbU3B /tmp/tmp.rgCnpxevJW ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2283-73ca3795-11-cluster5 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.XqXVP2aUbe ++ mktemp + local LAST_ERR=/tmp/tmp.vn2hBXULxo + 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-2283-73ca3795-11-cluster5 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XqXVP2aUbe Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2283-73ca3795-11-cluster5" modified. + cat /tmp/tmp.vn2hBXULxo + rm /tmp/tmp.XqXVP2aUbe /tmp/tmp.vn2hBXULxo + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2283-73ca3795' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2283-73ca3795 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/pitr-physical-backup-source/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.d33Fls5xPj ++ mktemp + local LAST_ERR=/tmp/tmp.0fR3Nmhpbt + 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-2283/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.d33Fls5xPj 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.0fR3Nmhpbt + rm /tmp/tmp.d33Fls5xPj /tmp/tmp.0fR3Nmhpbt + 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-2283/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.B1m7VOM3NN ++ mktemp + local LAST_ERR=/tmp/tmp.3iUXSM0d2Y + 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.B1m7VOM3NN 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.3iUXSM0d2Y + rm /tmp/tmp.B1m7VOM3NN /tmp/tmp.3iUXSM0d2Y + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2283-73ca3795") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.bgHgO8Iigw ++ mktemp + local LAST_ERR=/tmp/tmp.ggJHjuYtlG + 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.bgHgO8Iigw deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.ggJHjuYtlG + rm /tmp/tmp.bgHgO8Iigw /tmp/tmp.ggJHjuYtlG + 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.rQacWSRGJD +++ mktemp ++ local LAST_ERR=/tmp/tmp.o47pUP3Gva ++ 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.rQacWSRGJD ++ cat /tmp/tmp.o47pUP3Gva ++ rm /tmp/tmp.rQacWSRGJD /tmp/tmp.o47pUP3Gva ++ return 0 + wait_operator_pod percona-server-mongodb-operator-79d56c85d6-hfr4z + local pod=percona-server-mongodb-operator-79d56c85d6-hfr4z + set +o xtrace waiting for pod/percona-server-mongodb-operator-79d56c85d6-hfr4z 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.lcFlS6x33p +++ mktemp ++ local LAST_ERR=/tmp/tmp.TtrOC7eNoq ++ 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.lcFlS6x33p ++ cat /tmp/tmp.TtrOC7eNoq ++ rm /tmp/tmp.lcFlS6x33p /tmp/tmp.TtrOC7eNoq ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-79d56c85d6-hfr4z ++ mktemp + local LAST_OUT=/tmp/tmp.JClKTyy97I ++ mktemp + local LAST_ERR=/tmp/tmp.j59kTeAhNV + 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-79d56c85d6-hfr4z + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JClKTyy97I + cat /tmp/tmp.j59kTeAhNV + rm /tmp/tmp.JClKTyy97I /tmp/tmp.j59kTeAhNV + return 0 2026-04-09T17:46:17.355Z INFO setup Manager starting up {"gitCommit": "73ca37956356b4f3579a3ef1dce0c4105fda2da2", "gitBranch": "PR-2283-73ca3795", "buildTime": "", "goVersion": "go1.25.9", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-27797 + local namespace=pitr-physical-backup-source-27797 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ grep chaos-mesh ++ kubectl get MutatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ awk '{print $1}' ++ grep chaos-mesh + 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 '' ']' + xargs kubectl delete ns ++ mktemp + desc 'cleaned up old namespaces pitr-physical-backup-source-27797' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-27797 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-27797 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.eTuj2Ej8Wl + local LAST_OUT=/tmp/tmp.XrvrGMwULK ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.uuEpZe4rZg + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.Nft2yt3kII + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-27797 --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.eTuj2Ej8Wl + cat /tmp/tmp.Nft2yt3kII + rm /tmp/tmp.eTuj2Ej8Wl /tmp/tmp.Nft2yt3kII + 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.XrvrGMwULK + cat /tmp/tmp.uuEpZe4rZg + rm /tmp/tmp.XrvrGMwULK /tmp/tmp.uuEpZe4rZg + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-27797 ++ mktemp + local LAST_OUT=/tmp/tmp.31FoWDf0De ++ mktemp + local LAST_ERR=/tmp/tmp.7TWwY3Tbhm + 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-27797 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.31FoWDf0De + cat /tmp/tmp.7TWwY3Tbhm + rm /tmp/tmp.31FoWDf0De /tmp/tmp.7TWwY3Tbhm + return 0 + desc 'create namespace pitr-physical-backup-source-27797' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-27797 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-27797 ++ mktemp + local LAST_OUT=/tmp/tmp.Xvoskb7jg9 ++ mktemp + local LAST_ERR=/tmp/tmp.YMjApIXW6z + 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-27797 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Xvoskb7jg9 namespace/pitr-physical-backup-source-27797 created + cat /tmp/tmp.YMjApIXW6z + rm /tmp/tmp.Xvoskb7jg9 /tmp/tmp.YMjApIXW6z + return 0 + set_kube_ctx pitr-physical-backup-source-27797 + local namespace=pitr-physical-backup-source-27797 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.W2JV5pptg2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.7E4p759fm0 ++ 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.W2JV5pptg2 ++ cat /tmp/tmp.7E4p759fm0 ++ rm /tmp/tmp.W2JV5pptg2 /tmp/tmp.7E4p759fm0 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2283-73ca3795-11-cluster5 --namespace=pitr-physical-backup-source-27797 ++ mktemp + local LAST_OUT=/tmp/tmp.XMSpn5zPkG ++ mktemp + local LAST_ERR=/tmp/tmp.FYFtdZnF9E + 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-2283-73ca3795-11-cluster5 --namespace=pitr-physical-backup-source-27797 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XMSpn5zPkG Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2283-73ca3795-11-cluster5" modified. + cat /tmp/tmp.FYFtdZnF9E + rm /tmp/tmp.XMSpn5zPkG /tmp/tmp.FYFtdZnF9E + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Thu Apr 9 17:46:57 2026 NAMESPACE: pitr-physical-backup-source-27797 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-27797.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-27797 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-27797 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-27797 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-27797 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.1mXMpukDrf +++ mktemp ++ local LAST_ERR=/tmp/tmp.xyLMvxGZky ++ 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.1mXMpukDrf ++ cat /tmp/tmp.xyLMvxGZky ++ rm /tmp/tmp.1mXMpukDrf /tmp/tmp.xyLMvxGZky ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-rts6n + wait_pod minio-service-6d5f646cdc-rts6n + local pod=minio-service-6d5f646cdc-rts6n + set +o xtrace waiting for pod/minio-service-6d5f646cdc-rts6n 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-27797.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.XFOtsf8wuz ++ mktemp + local LAST_ERR=/tmp/tmp.CkUUJUVfH7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XFOtsf8wuz pod "aws-cli" deleted from pitr-physical-backup-source-27797 namespace + cat /tmp/tmp.CkUUJUVfH7 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.XFOtsf8wuz /tmp/tmp.CkUUJUVfH7 + 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-2283/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.f2sijGGskI ++ mktemp + local LAST_ERR=/tmp/tmp.rujAN4aT6L + 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-2283/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.f2sijGGskI secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.rujAN4aT6L + rm /tmp/tmp.f2sijGGskI /tmp/tmp.rujAN4aT6L + 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-2283/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2283-73ca3795"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/pitr-physical-backup-source-27797/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.2jYG0N8GoM ++ mktemp + local LAST_ERR=/tmp/tmp.Wg7NAqVAXB + 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.2jYG0N8GoM perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.Wg7NAqVAXB + rm /tmp/tmp.2jYG0N8GoM /tmp/tmp.Wg7NAqVAXB + 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.lhQn2Y7EoS +++ mktemp ++ local LAST_ERR=/tmp/tmp.4HkrKKsycz ++ 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.lhQn2Y7EoS ++ cat /tmp/tmp.4HkrKKsycz ++ rm /tmp/tmp.lhQn2Y7EoS /tmp/tmp.4HkrKKsycz ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IJhdwDHdLn +++ mktemp ++ local LAST_ERR=/tmp/tmp.QpzTZodUJo ++ 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.IJhdwDHdLn ++ cat /tmp/tmp.QpzTZodUJo ++ rm /tmp/tmp.IJhdwDHdLn /tmp/tmp.QpzTZodUJo ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dnjmh0qMZG +++ mktemp ++ local LAST_ERR=/tmp/tmp.fFaMdOWYs8 ++ 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.dnjmh0qMZG ++ cat /tmp/tmp.fFaMdOWYs8 ++ rm /tmp/tmp.dnjmh0qMZG /tmp/tmp.fFaMdOWYs8 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness.................................................... + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Qycz5g9ETy +++ mktemp ++ local LAST_ERR=/tmp/tmp.50qxLtOgd6 ++ 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.Qycz5g9ETy ++ cat /tmp/tmp.50qxLtOgd6 ++ rm /tmp/tmp.Qycz5g9ETy /tmp/tmp.50qxLtOgd6 ++ return 0 + [[ '' == true ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.lLuQJMHIqF +++ mktemp ++ local LAST_ERR=/tmp/tmp.DpVGz3VuIf ++ 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.lLuQJMHIqF ++ cat /tmp/tmp.DpVGz3VuIf ++ rm /tmp/tmp.lLuQJMHIqF /tmp/tmp.DpVGz3VuIf ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.92XoOHH5FI +++ mktemp ++ local LAST_ERR=/tmp/tmp.z1b7TcRry4 ++ 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.92XoOHH5FI ++ cat /tmp/tmp.z1b7TcRry4 ++ rm /tmp/tmp.92XoOHH5FI /tmp/tmp.z1b7TcRry4 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + sleep 10 + write_initial_data + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-27797 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-27797 + 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.LOIljxK9qZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.gLMoJe98nY ++ 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.LOIljxK9qZ ++ cat /tmp/tmp.gLMoJe98nY ++ rm /tmp/tmp.LOIljxK9qZ /tmp/tmp.gLMoJe98nY ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- 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-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.DhU20roQxE ++ mktemp + local LAST_ERR=/tmp/tmp.e97PjGR9x0 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- 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-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DhU20roQxE Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dbef4ff-c374-441e-9589-38fd2a3af9f2") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.e97PjGR9x0 + rm /tmp/tmp.DhU20roQxE /tmp/tmp.e97PjGR9x0 + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-04-09T17:51:35+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-27797 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.ytdMPQaz9l +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ny3dJWpvID ++ 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.ytdMPQaz9l ++ cat /tmp/tmp.Ny3dJWpvID ++ rm /tmp/tmp.ytdMPQaz9l /tmp/tmp.Ny3dJWpvID ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.2a0QX32UGl ++ mktemp + local LAST_ERR=/tmp/tmp.2mWa599fBc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2a0QX32UGl Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5e58daa0-41e4-4622-a6b9-9babbf03d3d9") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.2mWa599fBc + rm /tmp/tmp.2a0QX32UGl /tmp/tmp.2mWa599fBc + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-04-09T17:51:37+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.Dv9jffHdEH +++ mktemp ++ local LAST_ERR=/tmp/tmp.GgmQ66PuLL ++ 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.Dv9jffHdEH ++ cat /tmp/tmp.GgmQ66PuLL ++ rm /tmp/tmp.Dv9jffHdEH /tmp/tmp.GgmQ66PuLL ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ew4RSCdVNm ++ mktemp + local LAST_ERR=/tmp/tmp.pg401iLJpo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ew4RSCdVNm + cat /tmp/tmp.pg401iLJpo + rm /tmp/tmp.ew4RSCdVNm /tmp/tmp.pg401iLJpo + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.Zel8WR1wdQ/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-04-09T17:50:43.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-04-09T17:50:44.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-04-09T17:50:55.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-04-09T17:50:43.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-04-09T17:50:45.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-04-09T17:50:56.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-04-09T17:50:41.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-04-09T17:50:46.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-04-09T17:50:57.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-2283/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.Hsxpwerqqs ++ mktemp + local LAST_ERR=/tmp/tmp.GPjGshKebd + 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.Hsxpwerqqs perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.GPjGshKebd + rm /tmp/tmp.Hsxpwerqqs /tmp/tmp.GPjGshKebd + 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.Ux8EIZM0WN ++++ mktemp +++ local LAST_ERR=/tmp/tmp.dfqHPxnYzF +++ 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.Ux8EIZM0WN +++ cat /tmp/tmp.dfqHPxnYzF +++ rm /tmp/tmp.Ux8EIZM0WN /tmp/tmp.dfqHPxnYzF +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.i2PRTBMbjG ++++ mktemp +++ local LAST_ERR=/tmp/tmp.eT8hVVSF6K +++ 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.i2PRTBMbjG +++ cat /tmp/tmp.eT8hVVSF6K +++ rm /tmp/tmp.i2PRTBMbjG /tmp/tmp.eT8hVVSF6K +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 2 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.cz78gs4POm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ghYA6I25OY +++ 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.cz78gs4POm +++ cat /tmp/tmp.ghYA6I25OY +++ rm /tmp/tmp.cz78gs4POm /tmp/tmp.ghYA6I25OY +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 3 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.mtjLW0Mwag ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9UPQdiIZHp +++ 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.mtjLW0Mwag +++ cat /tmp/tmp.9UPQdiIZHp +++ rm /tmp/tmp.mtjLW0Mwag /tmp/tmp.9UPQdiIZHp +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 4 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.CZ7tkEO89a ++++ mktemp +++ local LAST_ERR=/tmp/tmp.N7BxAXlk7C +++ 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.CZ7tkEO89a +++ cat /tmp/tmp.N7BxAXlk7C +++ rm /tmp/tmp.CZ7tkEO89a /tmp/tmp.N7BxAXlk7C +++ return 0 ++ first_timestamp=1775757514 ++ sleep 5 ++ [[ 1775757514 != '' ]] ++ [[ 1775757514 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.k47jnb8lLv ++++ mktemp +++ local LAST_ERR=/tmp/tmp.bWv1y8D5E2 +++ 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.k47jnb8lLv +++ cat /tmp/tmp.bWv1y8D5E2 +++ rm /tmp/tmp.k47jnb8lLv /tmp/tmp.bWv1y8D5E2 +++ return 0 ++ second_timestamp=1775757507 ++ let retry+=1 ++ [[ 5 -gt 30 ]] ++ [[ 1775757514 != '' ]] ++ [[ 1775757514 != null ]] ++ [[ 1775757514 == 1775757507 ]] +++ 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.F9srjpbdFC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NrFNbICMv9 +++ 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.F9srjpbdFC +++ cat /tmp/tmp.NrFNbICMv9 +++ rm /tmp/tmp.F9srjpbdFC /tmp/tmp.NrFNbICMv9 +++ return 0 ++ first_timestamp=1775757507 ++ sleep 5 ++ [[ 1775757507 != '' ]] ++ [[ 1775757507 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.0PV9JEe3fr ++++ mktemp +++ local LAST_ERR=/tmp/tmp.xSniSjvLdv +++ 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.0PV9JEe3fr +++ cat /tmp/tmp.xSniSjvLdv +++ rm /tmp/tmp.0PV9JEe3fr /tmp/tmp.xSniSjvLdv +++ return 0 ++ second_timestamp=1775757507 ++ let retry+=1 ++ [[ 6 -gt 30 ]] ++ [[ 1775757507 != '' ]] ++ [[ 1775757507 != null ]] ++ [[ 1775757507 == 1775757507 ]] ++ /usr/sbin/date -u -d @1775757507 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-04-09T17:58:27Z ++ get_latest_restorable_time_from_backup_object backup-minio-1 ++ local backup_name=backup-minio-1 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.tDW7T1FOjt ++++ mktemp +++ local LAST_ERR=/tmp/tmp.1BhACKsGDb +++ 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.tDW7T1FOjt +++ cat /tmp/tmp.1BhACKsGDb +++ rm /tmp/tmp.tDW7T1FOjt /tmp/tmp.1BhACKsGDb +++ return 0 ++ latestRestorableTime=2026-04-09T17:58:27Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-04-09T17:58:27Z != '' ]] ++ [[ 2026-04-09T17:58:27Z != null ]] ++ echo 2026-04-09T17:58:27Z + backup_time=2026-04-09T17:58:27Z + [[ 2026-04-09T17:58:27Z != 2026\-04\-09T17\:58\:27Z ]] + reset_collection + desc 'reset data' + set +o xtrace ----------------------------------------------------------------------------------- reset data ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.remove({})' myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.VXoNXWCoa7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.p04gLhwTch ++ 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.VXoNXWCoa7 ++ cat /tmp/tmp.p04gLhwTch ++ rm /tmp/tmp.VXoNXWCoa7 /tmp/tmp.p04gLhwTch ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.AWYu8X3ZLB ++ mktemp + local LAST_ERR=/tmp/tmp.kDy8kp4K02 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AWYu8X3ZLB Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("41e0ccc7-2645-4bed-ae16-f0b9b21cc571") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.kDy8kp4K02 + rm /tmp/tmp.AWYu8X3ZLB /tmp/tmp.kDy8kp4K02 + 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-04-09T17:59:02+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.8eOIQAlfmw +++ mktemp ++ local LAST_ERR=/tmp/tmp.SoAfTpQDO9 ++ 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.8eOIQAlfmw ++ cat /tmp/tmp.SoAfTpQDO9 ++ rm /tmp/tmp.8eOIQAlfmw /tmp/tmp.SoAfTpQDO9 ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.1Wr5BrF77D ++ mktemp + local LAST_ERR=/tmp/tmp.VBclsghAhu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1Wr5BrF77D Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("812f19ad-cb53-4b43-9352-b64ecbf22036") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.VBclsghAhu + rm /tmp/tmp.1Wr5BrF77D /tmp/tmp.VBclsghAhu + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-04-09T18:01:05+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.bhqoGSoPGf +++ mktemp ++ local LAST_ERR=/tmp/tmp.kjLDeQL7Ig ++ 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.bhqoGSoPGf ++ cat /tmp/tmp.kjLDeQL7Ig ++ rm /tmp/tmp.bhqoGSoPGf /tmp/tmp.kjLDeQL7Ig ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.tyMOFc5H7u ++ mktemp + local LAST_ERR=/tmp/tmp.eyk8MYV0Gw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tyMOFc5H7u + cat /tmp/tmp.eyk8MYV0Gw + rm /tmp/tmp.tyMOFc5H7u /tmp/tmp.eyk8MYV0Gw + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.Zel8WR1wdQ/find ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 mongodb '' --quiet ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 ++ 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.aQAG5dSTK9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.2nM0u0r7Mt +++ 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.aQAG5dSTK9 +++ cat /tmp/tmp.2nM0u0r7Mt +++ rm /tmp/tmp.aQAG5dSTK9 /tmp/tmp.2nM0u0r7Mt +++ return 0 ++ local client_container=psmdb-client-bb8b97679-l568l ++ kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jshHwOCK4s +++ mktemp ++ local LAST_ERR=/tmp/tmp.0d9DkBan8G ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jshHwOCK4s ++ cat /tmp/tmp.0d9DkBan8G ++ rm /tmp/tmp.jshHwOCK4s /tmp/tmp.0d9DkBan8G ++ return 0 + time_now=1775757671 + check_recovery backup-minio-1 date 1775757671 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1775757671 + 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.l7AhndshNe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nbb5nIBnqY +++ 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.l7AhndshNe +++ cat /tmp/tmp.nbb5nIBnqY +++ rm /tmp/tmp.l7AhndshNe /tmp/tmp.nbb5nIBnqY +++ return 0 ++ echo 1775757634 + local latest_ts=1775757634 + 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-27797 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797 + 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.dvJmDhsMIt +++ mktemp ++ local LAST_ERR=/tmp/tmp.ezfK4Y3nsJ ++ 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.dvJmDhsMIt ++ cat /tmp/tmp.ezfK4Y3nsJ ++ rm /tmp/tmp.dvJmDhsMIt /tmp/tmp.ezfK4Y3nsJ ++ return 0 + local client_container=psmdb-client-bb8b97679-l568l + kubectl_bin exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.RUmlTucwvf ++ mktemp + local LAST_ERR=/tmp/tmp.XsoFfEcSEA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-l568l -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RUmlTucwvf Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-27797.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("051fd765-1421-49d3-a665-b1b29f405b86") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.XsoFfEcSEA + rm /tmp/tmp.RUmlTucwvf /tmp/tmp.XsoFfEcSEA + return 0 + [[ -n 1775757671 ]] ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + desc 'Restoring to time 2026-04-09 18:01:11' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2026-04-09 18:01:11 ----------------------------------------------------------------------------------- + retries=0 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.7UhI6OK5vW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.cBQaCPcCp4 +++ 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.7UhI6OK5vW +++ cat /tmp/tmp.cBQaCPcCp4 +++ rm /tmp/tmp.7UhI6OK5vW /tmp/tmp.cBQaCPcCp4 +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=1 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.gp5AjCrld7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XkukDdhnkg +++ 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.gp5AjCrld7 +++ cat /tmp/tmp.XkukDdhnkg +++ rm /tmp/tmp.gp5AjCrld7 /tmp/tmp.XkukDdhnkg +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=2 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.xEBbDPnsrn ++++ mktemp +++ local LAST_ERR=/tmp/tmp.uf7DHffpRM +++ 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.xEBbDPnsrn +++ cat /tmp/tmp.uf7DHffpRM +++ rm /tmp/tmp.xEBbDPnsrn /tmp/tmp.uf7DHffpRM +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=3 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 3 -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.JFxglBDcPV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aL0QOsyWQq +++ 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.JFxglBDcPV +++ cat /tmp/tmp.aL0QOsyWQq +++ rm /tmp/tmp.JFxglBDcPV /tmp/tmp.aL0QOsyWQq +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=4 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.vSggUe3hnD ++++ mktemp +++ local LAST_ERR=/tmp/tmp.2aYv7B785J +++ 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.vSggUe3hnD +++ cat /tmp/tmp.2aYv7B785J +++ rm /tmp/tmp.vSggUe3hnD /tmp/tmp.2aYv7B785J +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=5 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.Ugk31XRJPM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.W7LzkgQlF4 +++ 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.Ugk31XRJPM +++ cat /tmp/tmp.W7LzkgQlF4 +++ rm /tmp/tmp.Ugk31XRJPM /tmp/tmp.W7LzkgQlF4 +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=6 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.WQCzLJfra0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.WWMWnhOXtD +++ 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.WQCzLJfra0 +++ cat /tmp/tmp.WWMWnhOXtD +++ rm /tmp/tmp.WQCzLJfra0 /tmp/tmp.WWMWnhOXtD +++ return 0 ++ echo 1775757634 + latest_ts=1775757634 + retries=7 ++ format_date 1775757634 ++ local timestamp=1775757634 +++ TZ=UTC +++ /usr/sbin/date -d@1775757634 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757634 -gt 1775757671 ]] + [[ 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.jxSZ5hEnjL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Xc0qk0za6m +++ 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.jxSZ5hEnjL +++ cat /tmp/tmp.Xc0qk0za6m +++ rm /tmp/tmp.jxSZ5hEnjL /tmp/tmp.Xc0qk0za6m +++ return 0 ++ echo 1775757637 + latest_ts=1775757637 + retries=8 ++ format_date 1775757637 ++ local timestamp=1775757637 +++ TZ=UTC +++ /usr/sbin/date -d@1775757637 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:37 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:37) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:37) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757637 -gt 1775757671 ]] + [[ 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.kLLda7M3aV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3tZriBiZZO +++ 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.kLLda7M3aV +++ cat /tmp/tmp.3tZriBiZZO +++ rm /tmp/tmp.kLLda7M3aV /tmp/tmp.3tZriBiZZO +++ return 0 ++ echo 1775757651 + latest_ts=1775757651 + retries=9 ++ format_date 1775757651 ++ local timestamp=1775757651 +++ TZ=UTC +++ /usr/sbin/date -d@1775757651 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:00:51 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:00:51) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:00:51) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757651 -gt 1775757671 ]] + [[ 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.wFD3rEnkiw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.COzaM8cLf4 +++ 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.wFD3rEnkiw +++ cat /tmp/tmp.COzaM8cLf4 +++ rm /tmp/tmp.wFD3rEnkiw /tmp/tmp.COzaM8cLf4 +++ return 0 ++ echo 1775757754 + latest_ts=1775757754 + retries=10 ++ format_date 1775757754 ++ local timestamp=1775757754 +++ TZ=UTC +++ /usr/sbin/date -d@1775757754 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:02:34 ++ format_date 1775757671 ++ local timestamp=1775757671 +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-04-09 18:01:11 + echo 'Waiting for last oplog chunk (2026-04-09 18:02:34) to be greater than restore target (2026-04-09 18:01:11)' Waiting for last oplog chunk (2026-04-09 18:02:34) to be greater than restore target (2026-04-09 18:01:11) + sleep 10 + [[ 1775757754 -gt 1775757671 ]] + '[' -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$//' +++ mktemp ++ sed 's|s3://||' ++ sed 's|azure://||' ++ sed 's|gs://||' ++ local LAST_OUT=/tmp/tmp.XKMaLfcMMs +++ mktemp ++ local LAST_ERR=/tmp/tmp.SEhBjtCh3w ++ 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.XKMaLfcMMs ++ cat /tmp/tmp.SEhBjtCh3w ++ rm /tmp/tmp.XKMaLfcMMs /tmp/tmp.SEhBjtCh3w ++ return 0 + backup_dest=operator-testing/2026-04-09T17:57:54Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2283/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 1775757671 ']' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2026-04-09T17:57:54Z|' + '[' -n '' ']' + yq ++ get_bucket_name backup-minio-1 ++ format_date 1775757671 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' ++ local timestamp=1775757671 +++ mktemp +++ TZ=UTC +++ /usr/sbin/date -d@1775757671 '+%Y-%m-%d %H:%M:%S' + kubectl_bin apply -f - ++ mktemp ++ local LAST_OUT=/tmp/tmp.3HHIU7akjA ++ echo 2026-04-09 18:01:11 +++ mktemp + local LAST_OUT=/tmp/tmp.516X0iEQzL + /usr/sbin/sed -e 's/date:/date: 2026-04-09 18:01:11/' ++ mktemp ++ local LAST_ERR=/tmp/tmp.GJNJ8mcn8z ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 + local LAST_ERR=/tmp/tmp.gX9P7FBV0S + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' + 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.3HHIU7akjA ++ cat /tmp/tmp.GJNJ8mcn8z ++ rm /tmp/tmp.3HHIU7akjA /tmp/tmp.GJNJ8mcn8z ++ 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.516X0iEQzL perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.gX9P7FBV0S + rm /tmp/tmp.516X0iEQzL /tmp/tmp.gX9P7FBV0S + 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 10 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" ........