Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/e2e-tests/logs/pitr-physical-backup-source.log grep: warning: stray \ before - WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-backup-source-12533 + local ns=pitr-physical-backup-source-12533 + [[ 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.5wo03ILc1f ++ mktemp + local LAST_ERR=/tmp/tmp.NVbSIN5omK + 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.5wo03ILc1f 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.NVbSIN5omK + rm /tmp/tmp.5wo03ILc1f /tmp/tmp.NVbSIN5omK + return 0 ++ grep -v '\-\-\-' ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1961/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 '\-\-\-') + 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\":[]}}"' + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n pitr-physical-backup-source-20493 backup-minio-1 --type=merge -p '{"metadata":{"finalizers":[]}}' perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 patched + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n pitr-physical-backup-source-20493 backup-minio-2 --type=merge -p '{"metadata":{"finalizers":[]}}' perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 patched + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.OMhrNNuRz7 ++ mktemp + local LAST_ERR=/tmp/tmp.ScW9IcC735 + 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.OMhrNNuRz7 customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com condition met + cat /tmp/tmp.ScW9IcC735 + rm /tmp/tmp.OMhrNNuRz7 /tmp/tmp.ScW9IcC735 + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE 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.aWJT2jw3RD ++ mktemp + local LAST_ERR=/tmp/tmp.c4IwigJrbT + 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.aWJT2jw3RD + cat /tmp/tmp.c4IwigJrbT + rm /tmp/tmp.aWJT2jw3RD /tmp/tmp.c4IwigJrbT + 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.0VWr1aEKPV ++ mktemp + local LAST_ERR=/tmp/tmp.x5UH5ONzhP + 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.0VWr1aEKPV + cat /tmp/tmp.x5UH5ONzhP + rm /tmp/tmp.0VWr1aEKPV /tmp/tmp.x5UH5ONzhP + 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.L2wwDd3FIs ++ mktemp + local LAST_ERR=/tmp/tmp.HBSGxhfoaf + 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.L2wwDd3FIs 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.HBSGxhfoaf + rm /tmp/tmp.L2wwDd3FIs /tmp/tmp.HBSGxhfoaf + return 0 + check_crd_for_deletion PR-1961-f6beb261 + local git_tag=PR-1961-f6beb261 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1961-f6beb261/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' ++ /usr/sbin/sed s/---//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.EzWxGHvlgp +++ mktemp ++ local LAST_ERR=/tmp/tmp.RvJ93wTsHu ++ 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.EzWxGHvlgp ++ cat /tmp/tmp.RvJ93wTsHu 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.EzWxGHvlgp ++ cat /tmp/tmp.RvJ93wTsHu 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.EzWxGHvlgp ++ cat /tmp/tmp.RvJ93wTsHu Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.EzWxGHvlgp ++ cat /tmp/tmp.RvJ93wTsHu Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.EzWxGHvlgp /tmp/tmp.RvJ93wTsHu ++ 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 + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -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 + awk '{print$1}' + local LAST_OUT=/tmp/tmp.8WSxUf7AS7 egrep: warning: egrep is obsolescent; using grep -E ++ mktemp + xargs kubectl delete ns + local LAST_ERR=/tmp/tmp.1XYPlI1Hp8 + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_OUT=/tmp/tmp.uCOZlZmnKP ++ mktemp + local LAST_ERR=/tmp/tmp.PCwsGUvXSM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8WSxUf7AS7 + cat /tmp/tmp.1XYPlI1Hp8 + rm /tmp/tmp.8WSxUf7AS7 /tmp/tmp.1XYPlI1Hp8 + return 0 namespace "pitr-physical-backup-source-20493" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uCOZlZmnKP namespace "psmdb-operator" deleted + cat /tmp/tmp.PCwsGUvXSM + rm /tmp/tmp.uCOZlZmnKP /tmp/tmp.PCwsGUvXSM + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.8pqKXv5jok ++ mktemp + local LAST_ERR=/tmp/tmp.SscCWowC7g + 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.8pqKXv5jok + cat /tmp/tmp.SscCWowC7g + rm /tmp/tmp.8pqKXv5jok /tmp/tmp.SscCWowC7g + 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.qDl74MDP7S ++ mktemp + local LAST_ERR=/tmp/tmp.AbWi2IB2qc + 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.qDl74MDP7S namespace/psmdb-operator created + cat /tmp/tmp.AbWi2IB2qc + rm /tmp/tmp.qDl74MDP7S /tmp/tmp.AbWi2IB2qc + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.W1VDy2JThw +++ mktemp ++ local LAST_ERR=/tmp/tmp.A0rLxUPFKE ++ 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.W1VDy2JThw ++ cat /tmp/tmp.A0rLxUPFKE ++ rm /tmp/tmp.W1VDy2JThw /tmp/tmp.A0rLxUPFKE ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-f6beb261-6-cluster6 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.6GXkXG1ikU ++ mktemp + local LAST_ERR=/tmp/tmp.68Gr1pNWMj + 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-f6beb261-6-cluster6 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6GXkXG1ikU Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-f6beb261-6-cluster6" modified. + cat /tmp/tmp.68Gr1pNWMj + rm /tmp/tmp.6GXkXG1ikU /tmp/tmp.68Gr1pNWMj + return 0 + deploy_operator + desc 'start PSMDB operator' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator ----------------------------------------------------------------------------------- + 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.YFZtJzHB7K ++ mktemp + local LAST_ERR=/tmp/tmp.voemrTrTER + 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.YFZtJzHB7K 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.voemrTrTER + rm /tmp/tmp.YFZtJzHB7K /tmp/tmp.voemrTrTER + 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.zkYHcWiMoB ++ mktemp + local LAST_ERR=/tmp/tmp.J5zSGb01WH + 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.zkYHcWiMoB 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.J5zSGb01WH + rm /tmp/tmp.zkYHcWiMoB /tmp/tmp.J5zSGb01WH + return 0 + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1961-f6beb261") | ((.. | 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 -f - ++ mktemp + local LAST_OUT=/tmp/tmp.DlIBHTNeOV ++ mktemp + local LAST_ERR=/tmp/tmp.dGZdwHPbeq + 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.DlIBHTNeOV deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.dGZdwHPbeq + rm /tmp/tmp.DlIBHTNeOV /tmp/tmp.dGZdwHPbeq + return 0 + sleep 2 ++ 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.C1Wh0SK4Km +++ mktemp ++ local LAST_ERR=/tmp/tmp.J33gihKgTR ++ 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.C1Wh0SK4Km ++ cat /tmp/tmp.J33gihKgTR ++ rm /tmp/tmp.C1Wh0SK4Km /tmp/tmp.J33gihKgTR ++ return 0 + wait_pod percona-server-mongodb-operator-5d9dc9cbbc-gw445 + local pod=percona-server-mongodb-operator-5d9dc9cbbc-gw445 + set +o xtrace waiting for pod/percona-server-mongodb-operator-5d9dc9cbbc-gw445 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.ZXi4UA2P3U +++ mktemp ++ local LAST_ERR=/tmp/tmp.lrqNF6UcOi ++ 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.ZXi4UA2P3U ++ cat /tmp/tmp.lrqNF6UcOi ++ rm /tmp/tmp.ZXi4UA2P3U /tmp/tmp.lrqNF6UcOi ++ return 0 + kubectl_bin logs percona-server-mongodb-operator-5d9dc9cbbc-gw445 ++ mktemp + local LAST_OUT=/tmp/tmp.Z8cpYociNu ++ mktemp + local LAST_ERR=/tmp/tmp.GylRp0nkRQ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs percona-server-mongodb-operator-5d9dc9cbbc-gw445 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Z8cpYociNu + cat /tmp/tmp.GylRp0nkRQ + rm /tmp/tmp.Z8cpYociNu /tmp/tmp.GylRp0nkRQ + return 0 2025-08-14T11:38:08.090Z INFO setup Manager starting up {"gitCommit": "f6beb261109d64229faebd29fd920425a39c54e3", "gitBranch": "PR-1961-f6beb261", "buildTime": "", "goVersion": "go1.24.6", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-12533 + local namespace=pitr-physical-backup-source-12533 + 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 + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -n '' ']' + desc 'cleaned up old namespaces pitr-physical-backup-source-12533' ++ mktemp + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-12533 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-12533 --ignore-not-found + awk '{print$1}' + local LAST_OUT=/tmp/tmp.bOwgHxn2jH egrep: warning: egrep is obsolescent; using grep -E ++ mktemp + local LAST_ERR=/tmp/tmp.kgmc3FVR5N + xargs kubectl delete ns + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_OUT=/tmp/tmp.yyLhRahwOm ++ mktemp + local LAST_ERR=/tmp/tmp.49lCJjqvIz + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-12533 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bOwgHxn2jH + cat /tmp/tmp.kgmc3FVR5N + rm /tmp/tmp.bOwgHxn2jH /tmp/tmp.kgmc3FVR5N + 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.yyLhRahwOm + cat /tmp/tmp.49lCJjqvIz + rm /tmp/tmp.yyLhRahwOm /tmp/tmp.49lCJjqvIz + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-12533 ++ mktemp + local LAST_OUT=/tmp/tmp.tWHvhyRUzj ++ mktemp + local LAST_ERR=/tmp/tmp.aWds3doxd9 + 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-12533 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tWHvhyRUzj + cat /tmp/tmp.aWds3doxd9 + rm /tmp/tmp.tWHvhyRUzj /tmp/tmp.aWds3doxd9 + return 0 + desc 'create namespace pitr-physical-backup-source-12533' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-12533 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-12533 ++ mktemp + local LAST_OUT=/tmp/tmp.ECTgY6pALw ++ mktemp + local LAST_ERR=/tmp/tmp.EQDnQE0EyE + 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-12533 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ECTgY6pALw namespace/pitr-physical-backup-source-12533 created + cat /tmp/tmp.EQDnQE0EyE + rm /tmp/tmp.ECTgY6pALw /tmp/tmp.EQDnQE0EyE + return 0 + set_kube_ctx pitr-physical-backup-source-12533 + local namespace=pitr-physical-backup-source-12533 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.qSoDGRkHeB +++ mktemp ++ local LAST_ERR=/tmp/tmp.i7ugfgWjv4 ++ 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.qSoDGRkHeB ++ cat /tmp/tmp.i7ugfgWjv4 ++ rm /tmp/tmp.qSoDGRkHeB /tmp/tmp.i7ugfgWjv4 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-f6beb261-6-cluster6 --namespace=pitr-physical-backup-source-12533 ++ mktemp + local LAST_OUT=/tmp/tmp.Eue2TOtM7K ++ mktemp + local LAST_ERR=/tmp/tmp.mQ5zXlegpR + 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-f6beb261-6-cluster6 --namespace=pitr-physical-backup-source-12533 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Eue2TOtM7K Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1961-f6beb261-6-cluster6" modified. + cat /tmp/tmp.mQ5zXlegpR + rm /tmp/tmp.Eue2TOtM7K /tmp/tmp.mQ5zXlegpR + 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: Thu Aug 14 11:38:31 2025 NAMESPACE: pitr-physical-backup-source-12533 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-12533.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-12533 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-12533 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-12533 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-12533 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.BvtUdGEGif +++ mktemp ++ local LAST_ERR=/tmp/tmp.Z8N7EkEbee ++ 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.BvtUdGEGif ++ cat /tmp/tmp.Z8N7EkEbee ++ rm /tmp/tmp.BvtUdGEGif /tmp/tmp.Z8N7EkEbee ++ return 0 + MINIO_POD=minio-service-86dfccd949-vctf8 + wait_pod minio-service-86dfccd949-vctf8 + local pod=minio-service-86dfccd949-vctf8 + set +o xtrace waiting for pod/minio-service-86dfccd949-vctf8 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-12533.svc.cluster.local --tcp=9000 ++ mktemp + local LAST_OUT=/tmp/tmp.RWEO0VsZx2 ++ mktemp + local LAST_ERR=/tmp/tmp.1BFDVcHbNS + 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-12533.svc.cluster.local --tcp=9000 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RWEO0VsZx2 service/minio-service created + cat /tmp/tmp.1BFDVcHbNS + rm /tmp/tmp.RWEO0VsZx2 /tmp/tmp.1BFDVcHbNS + 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.YgwLm7HLdz ++ mktemp + local LAST_ERR=/tmp/tmp.Jyc7smuOkI + 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.YgwLm7HLdz make_bucket: operator-testing pod "aws-cli" deleted + cat /tmp/tmp.Jyc7smuOkI + rm /tmp/tmp.YgwLm7HLdz /tmp/tmp.Jyc7smuOkI + 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.gmSE7ZuPGU ++ mktemp + local LAST_ERR=/tmp/tmp.DdXuszs4i6 + 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.gmSE7ZuPGU secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.DdXuszs4i6 + rm /tmp/tmp.gmSE7ZuPGU /tmp/tmp.DdXuszs4i6 + 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 ++ mktemp + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1961-f6beb261"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.piPwEd78cD ++ mktemp + local LAST_ERR=/tmp/tmp.7WlXLbGZKw + 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.piPwEd78cD perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.7WlXLbGZKw + rm /tmp/tmp.piPwEd78cD /tmp/tmp.7WlXLbGZKw + 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.iCeCDgyTBc +++ mktemp ++ local LAST_ERR=/tmp/tmp.NOlH25xNfv ++ 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.iCeCDgyTBc ++ cat /tmp/tmp.NOlH25xNfv ++ rm /tmp/tmp.iCeCDgyTBc /tmp/tmp.NOlH25xNfv ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Jp9ZWnjTxK +++ mktemp ++ local LAST_ERR=/tmp/tmp.PC3vWGtAwO ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Jp9ZWnjTxK ++ cat /tmp/tmp.PC3vWGtAwO ++ rm /tmp/tmp.Jp9ZWnjTxK /tmp/tmp.PC3vWGtAwO ++ 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.XreAQIaxGD +++ mktemp ++ local LAST_ERR=/tmp/tmp.vFDoxvPVw2 ++ 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.XreAQIaxGD ++ cat /tmp/tmp.vFDoxvPVw2 ++ rm /tmp/tmp.XreAQIaxGD /tmp/tmp.vFDoxvPVw2 ++ 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.xXcWFrhBBn +++ mktemp ++ local LAST_ERR=/tmp/tmp.yrRKfQ0IIB ++ 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.xXcWFrhBBn ++ cat /tmp/tmp.yrRKfQ0IIB ++ rm /tmp/tmp.xXcWFrhBBn /tmp/tmp.yrRKfQ0IIB ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rEb47GHy12 +++ mktemp ++ local LAST_ERR=/tmp/tmp.fKCUQeiHpC ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rEb47GHy12 ++ cat /tmp/tmp.fKCUQeiHpC ++ rm /tmp/tmp.rEb47GHy12 /tmp/tmp.fKCUQeiHpC ++ 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.flXhSQxMJN +++ mktemp ++ local LAST_ERR=/tmp/tmp.lvQ3W34teb ++ 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.flXhSQxMJN ++ cat /tmp/tmp.lvQ3W34teb ++ rm /tmp/tmp.flXhSQxMJN /tmp/tmp.lvQ3W34teb ++ 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-12533 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-12533 + 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.QfeSSvsTQm +++ mktemp ++ local LAST_ERR=/tmp/tmp.w1k5Nflw7R ++ 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.QfeSSvsTQm ++ cat /tmp/tmp.w1k5Nflw7R ++ rm /tmp/tmp.QfeSSvsTQm /tmp/tmp.w1k5Nflw7R ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- 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-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.kSZljfHxrk ++ mktemp + local LAST_ERR=/tmp/tmp.HKArVcqDRH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- 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-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kSZljfHxrk Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("bd4cf79a-26e1-420d-85c0-61428fc9b8ef") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.HKArVcqDRH + rm /tmp/tmp.kSZljfHxrk /tmp/tmp.HKArVcqDRH + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2025-08-14T11:42:52+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.g0DcXr18XZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.QuLI4ebj15 ++ 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.g0DcXr18XZ ++ cat /tmp/tmp.QuLI4ebj15 ++ rm /tmp/tmp.g0DcXr18XZ /tmp/tmp.QuLI4ebj15 ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.vJl0WDmRSe ++ mktemp + local LAST_ERR=/tmp/tmp.FeWM0LOVJo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vJl0WDmRSe Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("227e8c19-ffca-4590-973b-38301df3ef3d") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.FeWM0LOVJo + rm /tmp/tmp.vJl0WDmRSe /tmp/tmp.FeWM0LOVJo + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + egrep -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:' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' egrep: warning: egrep is obsolescent; using grep -E + 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.wtQ9POxXFb +++ mktemp ++ local LAST_ERR=/tmp/tmp.IxPec04vUY ++ 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.wtQ9POxXFb ++ cat /tmp/tmp.IxPec04vUY ++ rm /tmp/tmp.wtQ9POxXFb /tmp/tmp.IxPec04vUY ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.SJtuayHanz ++ mktemp + local LAST_ERR=/tmp/tmp.dMLSXhrLfY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SJtuayHanz + cat /tmp/tmp.dMLSXhrLfY + rm /tmp/tmp.SJtuayHanz /tmp/tmp.dMLSXhrLfY + 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.Q6XwkbQl0f/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...2025-08-14T11:42:25.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...2025-08-14T11:42:26.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...2025-08-14T11:42:26.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...2025-08-14T11:42:25.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...2025-08-14T11:42:26.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...2025-08-14T11:42:27.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...2025-08-14T11:42:29.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...2025-08-14T11:42:28.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...2025-08-14T11:42:27.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.NRieVX82zx ++ mktemp + local LAST_ERR=/tmp/tmp.9hdp7RBZXf + 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.NRieVX82zx perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.9hdp7RBZXf + rm /tmp/tmp.NRieVX82zx /tmp/tmp.9hdp7RBZXf + 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........ + 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.NIUcitWa0u ++++ mktemp +++ local LAST_ERR=/tmp/tmp.i895HMv8Ji +++ 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.NIUcitWa0u +++ cat /tmp/tmp.i895HMv8Ji +++ rm /tmp/tmp.NIUcitWa0u /tmp/tmp.i895HMv8Ji +++ 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.6NaNmb1EDS ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5ngFiC1MfI +++ 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.6NaNmb1EDS +++ cat /tmp/tmp.5ngFiC1MfI +++ rm /tmp/tmp.6NaNmb1EDS /tmp/tmp.5ngFiC1MfI +++ 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.pfZa7IGDAZ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.YubnOybTt2 +++ 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.pfZa7IGDAZ +++ cat /tmp/tmp.YubnOybTt2 +++ rm /tmp/tmp.pfZa7IGDAZ /tmp/tmp.YubnOybTt2 +++ 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.mBGy9qQ776 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.fYu2cVk3nH +++ 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.mBGy9qQ776 +++ cat /tmp/tmp.fYu2cVk3nH +++ rm /tmp/tmp.mBGy9qQ776 /tmp/tmp.fYu2cVk3nH +++ 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.hNOO9iDPVi ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9UenoK0wWz +++ 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.hNOO9iDPVi +++ cat /tmp/tmp.9UenoK0wWz +++ rm /tmp/tmp.hNOO9iDPVi /tmp/tmp.9UenoK0wWz +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != \n\u\l\l ]] ++ let retry+=1 ++ [[ 5 -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.ubt7d55rtZ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.e7Dc6SeaAD +++ 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.ubt7d55rtZ +++ cat /tmp/tmp.e7Dc6SeaAD +++ rm /tmp/tmp.ubt7d55rtZ /tmp/tmp.e7Dc6SeaAD +++ return 0 ++ first_timestamp=1755172208 ++ sleep 5 ++ [[ 1755172208 != '' ]] ++ [[ 1755172208 != \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.Tu5HGRIRus ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ZEKK9KEXPa +++ 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.Tu5HGRIRus +++ cat /tmp/tmp.ZEKK9KEXPa +++ rm /tmp/tmp.Tu5HGRIRus /tmp/tmp.ZEKK9KEXPa +++ return 0 ++ second_timestamp=1755172199 ++ let retry+=1 ++ [[ 6 -gt 30 ]] ++ [[ 1755172208 != '' ]] ++ [[ 1755172208 != \n\u\l\l ]] ++ [[ 1755172208 == 1755172199 ]] +++ 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.Lv9MF2NJmU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IZ0tzaMuP1 +++ 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.Lv9MF2NJmU +++ cat /tmp/tmp.IZ0tzaMuP1 +++ rm /tmp/tmp.Lv9MF2NJmU /tmp/tmp.IZ0tzaMuP1 +++ return 0 ++ first_timestamp=1755172199 ++ sleep 5 ++ [[ 1755172199 != '' ]] ++ [[ 1755172199 != \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.EqxPR9GG70 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.yv3Pc7tSLr +++ 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.EqxPR9GG70 +++ cat /tmp/tmp.yv3Pc7tSLr +++ rm /tmp/tmp.EqxPR9GG70 /tmp/tmp.yv3Pc7tSLr +++ return 0 ++ second_timestamp=1755172199 ++ let retry+=1 ++ [[ 7 -gt 30 ]] ++ [[ 1755172199 != '' ]] ++ [[ 1755172199 != \n\u\l\l ]] ++ [[ 1755172199 == 1755172199 ]] ++ /usr/sbin/date -u -d @1755172199 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2025-08-14T11:49:59Z ++ 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.vHhnFSudMc ++++ mktemp +++ local LAST_ERR=/tmp/tmp.kimzU8f3N9 +++ 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.vHhnFSudMc +++ cat /tmp/tmp.kimzU8f3N9 +++ rm /tmp/tmp.vHhnFSudMc /tmp/tmp.kimzU8f3N9 +++ return 0 ++ latestRestorableTime=2025-08-14T11:49:59Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2025-08-14T11:49:59Z != '' ]] ++ [[ 2025-08-14T11:49:59Z != \n\u\l\l ]] ++ echo 2025-08-14T11:49:59Z + backup_time=2025-08-14T11:49:59Z + [[ 2025-08-14T11:49:59Z != \2\0\2\5\-\0\8\-\1\4\T\1\1\:\4\9\:\5\9\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-12533 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.0i8jRHFyw2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.hsVbIHrk7l ++ 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.0i8jRHFyw2 ++ cat /tmp/tmp.hsVbIHrk7l ++ rm /tmp/tmp.0i8jRHFyw2 /tmp/tmp.hsVbIHrk7l ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.keuzHHjh4i ++ mktemp + local LAST_ERR=/tmp/tmp.FoSpLW6KuB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.keuzHHjh4i Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("86a8b536-7b38-46bd-9e9d-aeadef2cf87a") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.FoSpLW6KuB + rm /tmp/tmp.keuzHHjh4i /tmp/tmp.FoSpLW6KuB + return 0 + sleep 2 + write_document '' 120 + local cmp_postfix= + local sleep_value=120 + log 'write initial data, read from all' + set +o xtrace [2025-08-14T11:50:36+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-12533 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.yLv1fIkKv8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.VR5fou5SPW ++ 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.yLv1fIkKv8 ++ cat /tmp/tmp.VR5fou5SPW ++ rm /tmp/tmp.yLv1fIkKv8 /tmp/tmp.VR5fou5SPW ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.m9BiaVQ2Kk ++ mktemp + local LAST_ERR=/tmp/tmp.OEcCS7m0xD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.m9BiaVQ2Kk Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("84074c90-1472-4ffd-9419-35c9fcad696f") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.OEcCS7m0xD + rm /tmp/tmp.m9BiaVQ2Kk /tmp/tmp.OEcCS7m0xD + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' '' 27017 + egrep -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:' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + 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}' egrep: warning: egrep is obsolescent; using grep -E + 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.XpIe8D2y8f +++ mktemp ++ local LAST_ERR=/tmp/tmp.zLGIlh8RpR ++ 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.XpIe8D2y8f ++ cat /tmp/tmp.zLGIlh8RpR ++ rm /tmp/tmp.XpIe8D2y8f /tmp/tmp.zLGIlh8RpR ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.IiaRIMx1K3 ++ mktemp + local LAST_ERR=/tmp/tmp.Tw3BJVIrJt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IiaRIMx1K3 + cat /tmp/tmp.Tw3BJVIrJt + rm /tmp/tmp.IiaRIMx1K3 /tmp/tmp.Tw3BJVIrJt + 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.Q6XwkbQl0f/find ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' --quiet ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match' ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ cut -d. -f1 +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.p5cxgXtwp4 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.bCmKKoB3lF +++ 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.p5cxgXtwp4 +++ cat /tmp/tmp.bCmKKoB3lF +++ rm /tmp/tmp.p5cxgXtwp4 /tmp/tmp.bCmKKoB3lF +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wc6zm ++ kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1nQgykBKsh +++ mktemp ++ local LAST_ERR=/tmp/tmp.fVhY44SNBz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1nQgykBKsh ++ cat /tmp/tmp.fVhY44SNBz ++ rm /tmp/tmp.1nQgykBKsh /tmp/tmp.fVhY44SNBz ++ return 0 + time_now=1755172364 + check_recovery backup-minio-1 date 1755172364 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1755172364 + 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.G3H5qVvRxR ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ILN8muwELe +++ 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.G3H5qVvRxR +++ cat /tmp/tmp.ILN8muwELe +++ rm /tmp/tmp.G3H5qVvRxR /tmp/tmp.ILN8muwELe +++ return 0 ++ echo 1755172328 + local latest_ts=1755172328 + 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-12533 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.EOauiJ2KPT +++ mktemp ++ local LAST_ERR=/tmp/tmp.DlNSeA5QHF ++ 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.EOauiJ2KPT ++ cat /tmp/tmp.DlNSeA5QHF ++ rm /tmp/tmp.EOauiJ2KPT /tmp/tmp.DlNSeA5QHF ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.BDYucLupM7 ++ mktemp + local LAST_ERR=/tmp/tmp.X5Aj0Rwsok + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BDYucLupM7 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("030896fc-a0a3-4ef8-b0ad-f5d57da2c085") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.X5Aj0Rwsok + rm /tmp/tmp.BDYucLupM7 /tmp/tmp.X5Aj0Rwsok + return 0 + [[ -n 1755172364 ]] ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + desc 'Restoring to time 2025-08-14 11:52:44' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2025-08-14 11:52:44 ----------------------------------------------------------------------------------- + retries=0 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.6xL9Hlhn4Z ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EqARPH7Uod +++ 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.6xL9Hlhn4Z +++ cat /tmp/tmp.EqARPH7Uod +++ rm /tmp/tmp.6xL9Hlhn4Z /tmp/tmp.EqARPH7Uod +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=1 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.I06389P02G ++++ mktemp +++ local LAST_ERR=/tmp/tmp.C1my7hg6lO +++ 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.I06389P02G +++ cat /tmp/tmp.C1my7hg6lO +++ rm /tmp/tmp.I06389P02G /tmp/tmp.C1my7hg6lO +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=2 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.n2W5ML0Jcs ++++ mktemp +++ local LAST_ERR=/tmp/tmp.CAvPME4AbY +++ 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.n2W5ML0Jcs +++ cat /tmp/tmp.CAvPME4AbY +++ rm /tmp/tmp.n2W5ML0Jcs /tmp/tmp.CAvPME4AbY +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=3 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.J6CGF8nHBs ++++ mktemp +++ local LAST_ERR=/tmp/tmp.iPzRit2O46 +++ 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.J6CGF8nHBs +++ cat /tmp/tmp.iPzRit2O46 +++ rm /tmp/tmp.J6CGF8nHBs /tmp/tmp.iPzRit2O46 +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=4 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.a4BHJAaMTI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XEnTZREfZ5 +++ 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.a4BHJAaMTI +++ cat /tmp/tmp.XEnTZREfZ5 +++ rm /tmp/tmp.a4BHJAaMTI /tmp/tmp.XEnTZREfZ5 +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=5 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.8dnOTU5agE ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nH0GHSzLZu +++ 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.8dnOTU5agE +++ cat /tmp/tmp.nH0GHSzLZu +++ rm /tmp/tmp.8dnOTU5agE /tmp/tmp.nH0GHSzLZu +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=6 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.KYz6e2EbR0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3bt7eowaVx +++ 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.KYz6e2EbR0 +++ cat /tmp/tmp.3bt7eowaVx +++ rm /tmp/tmp.KYz6e2EbR0 /tmp/tmp.3bt7eowaVx +++ return 0 ++ echo 1755172328 + latest_ts=1755172328 + retries=7 ++ format_date 1755172328 ++ local timestamp=1755172328 +++ TZ=UTC +++ /usr/sbin/date -d@1755172328 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172328 -gt 1755172364 ]] + [[ 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.vVKLUFUm7j ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Dr7cyealjM +++ 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.vVKLUFUm7j +++ cat /tmp/tmp.Dr7cyealjM +++ rm /tmp/tmp.vVKLUFUm7j /tmp/tmp.Dr7cyealjM +++ return 0 ++ echo 1755172329 + latest_ts=1755172329 + retries=8 ++ format_date 1755172329 ++ local timestamp=1755172329 +++ TZ=UTC +++ /usr/sbin/date -d@1755172329 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:09 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:52:09) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:52:09) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172329 -gt 1755172364 ]] + [[ 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.yMOe74Iqfh ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OcbuImr6m4 +++ 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.yMOe74Iqfh +++ cat /tmp/tmp.OcbuImr6m4 +++ rm /tmp/tmp.yMOe74Iqfh /tmp/tmp.OcbuImr6m4 +++ return 0 ++ echo 1755172448 + latest_ts=1755172448 + retries=9 ++ format_date 1755172448 ++ local timestamp=1755172448 +++ TZ=UTC +++ /usr/sbin/date -d@1755172448 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:08 ++ format_date 1755172364 ++ local timestamp=1755172364 +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:52:44 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:08) to be greater than restore target (2025-08-14 11:52:44)' Waiting for last oplog chunk (2025-08-14 11:54:08) to be greater than restore target (2025-08-14 11:52:44) + sleep 10 + [[ 1755172448 -gt 1755172364 ]] + '[' -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://||' ++ sed 's|azure://||' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NTpiiCGp5x +++ mktemp ++ local LAST_ERR=/tmp/tmp.61jiZcWwDV ++ 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.NTpiiCGp5x ++ cat /tmp/tmp.61jiZcWwDV ++ rm /tmp/tmp.NTpiiCGp5x /tmp/tmp.61jiZcWwDV ++ return 0 + backup_dest=operator-testing/2025-08-14T11:49:13Z + 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 1755172364 ']' ++ format_date 1755172364 ++ local timestamp=1755172364 + '[' -n '' ']' + yq + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2025-08-14T11:49:13Z|' +++ TZ=UTC +++ /usr/sbin/date -d@1755172364 '+%Y-%m-%d %H:%M:%S' ++ get_bucket_name backup-minio-1 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' +++ mktemp ++ echo 2025-08-14 11:52:44 + kubectl_bin apply -f - + /usr/sbin/sed -e 's/date:/date: 2025-08-14 11:52:44/' ++ mktemp ++ local LAST_OUT=/tmp/tmp.txyKGXopbK +++ mktemp + local LAST_OUT=/tmp/tmp.gkvoP2VAYQ ++ local LAST_ERR=/tmp/tmp.p3HuuXP8aV ++ local exit_status=0 ++ local timeout=4 ++ mktemp +++ seq 0 2 + local LAST_ERR=/tmp/tmp.gZB26USdw3 + local exit_status=0 + local timeout=4 ++ for i in $(seq 0 2) ++ set +e ++ seq 0 2 ++ 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.txyKGXopbK ++ cat /tmp/tmp.p3HuuXP8aV ++ rm /tmp/tmp.txyKGXopbK /tmp/tmp.p3HuuXP8aV ++ 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.gkvoP2VAYQ perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.gZB26USdw3 + rm /tmp/tmp.gkvoP2VAYQ /tmp/tmp.gZB26USdw3 + 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 createdOK 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 createdOK 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.YlbkGe36Ui +++ mktemp ++ local LAST_ERR=/tmp/tmp.fXv8Ryo4YF ++ 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.YlbkGe36Ui ++ cat /tmp/tmp.fXv8Ryo4YF ++ rm /tmp/tmp.YlbkGe36Ui /tmp/tmp.fXv8Ryo4YF ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.eZAB6JeL5v +++ mktemp ++ local LAST_ERR=/tmp/tmp.bWXLwhtJJD ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.eZAB6JeL5v ++ cat /tmp/tmp.bWXLwhtJJD ++ rm /tmp/tmp.eZAB6JeL5v /tmp/tmp.bWXLwhtJJD ++ 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.PFIuId33Ew +++ mktemp ++ local LAST_ERR=/tmp/tmp.xrtNCUDD2t ++ 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.PFIuId33Ew ++ cat /tmp/tmp.xrtNCUDD2t ++ rm /tmp/tmp.PFIuId33Ew /tmp/tmp.xrtNCUDD2t ++ 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.bp5dszKevI +++ mktemp ++ local LAST_ERR=/tmp/tmp.TNkkNiQMdk ++ 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.bp5dszKevI ++ cat /tmp/tmp.TNkkNiQMdk ++ rm /tmp/tmp.bp5dszKevI /tmp/tmp.TNkkNiQMdk ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aVeJwRKR5n +++ mktemp ++ local LAST_ERR=/tmp/tmp.sb3RFzIBoG ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aVeJwRKR5n ++ cat /tmp/tmp.sb3RFzIBoG ++ rm /tmp/tmp.aVeJwRKR5n /tmp/tmp.sb3RFzIBoG ++ 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.FHyyY9HTVm +++ mktemp ++ local LAST_ERR=/tmp/tmp.cN8MPLtJM9 ++ 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.FHyyY9HTVm ++ cat /tmp/tmp.cN8MPLtJM9 ++ rm /tmp/tmp.FHyyY9HTVm /tmp/tmp.cN8MPLtJM9 ++ 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.VhEk8q7iTH +++ mktemp ++ local LAST_ERR=/tmp/tmp.ERTXDApS8u ++ 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.VhEk8q7iTH ++ cat /tmp/tmp.ERTXDApS8u ++ rm /tmp/tmp.VhEk8q7iTH /tmp/tmp.ERTXDApS8u ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pTMnWBTufy +++ mktemp ++ local LAST_ERR=/tmp/tmp.anSTfVcvgB ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pTMnWBTufy ++ cat /tmp/tmp.anSTfVcvgB ++ rm /tmp/tmp.pTMnWBTufy /tmp/tmp.anSTfVcvgB ++ 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.gehZkhySxV +++ mktemp ++ local LAST_ERR=/tmp/tmp.dKNV1h74yE ++ 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.gehZkhySxV ++ cat /tmp/tmp.dKNV1h74yE ++ rm /tmp/tmp.gehZkhySxV /tmp/tmp.dKNV1h74yE ++ 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-12533 '' + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + egrep -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:' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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}' egrep: warning: egrep is obsolescent; using grep -E + 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.L5RhCLaTDi +++ mktemp ++ local LAST_ERR=/tmp/tmp.8hMCo9JinC ++ 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.L5RhCLaTDi ++ cat /tmp/tmp.8hMCo9JinC ++ rm /tmp/tmp.L5RhCLaTDi /tmp/tmp.8hMCo9JinC ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.VMJws0dEqD ++ mktemp + local LAST_ERR=/tmp/tmp.sfjnwzgX9z + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VMJws0dEqD + cat /tmp/tmp.sfjnwzgX9z + rm /tmp/tmp.VMJws0dEqD /tmp/tmp.sfjnwzgX9z + 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.Q6XwkbQl0f/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.NSvVcPITxh ++ mktemp + local LAST_ERR=/tmp/tmp.JqPGSxadej + 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.NSvVcPITxh perconaservermongodb.psmdb.percona.com "some-name" deleted + cat /tmp/tmp.JqPGSxadej + rm /tmp/tmp.NSvVcPITxh /tmp/tmp.JqPGSxadej + return 0 + kubectl_bin delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.QXEYRoCCVT ++ mktemp + local LAST_ERR=/tmp/tmp.ySB4iNsfIO + 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.QXEYRoCCVT persistentvolumeclaim "mongod-data-some-name-cfg-0" deleted persistentvolumeclaim "mongod-data-some-name-cfg-1" deleted persistentvolumeclaim "mongod-data-some-name-cfg-2" deleted persistentvolumeclaim "mongod-data-some-name-rs0-0" deleted persistentvolumeclaim "mongod-data-some-name-rs0-1" deleted persistentvolumeclaim "mongod-data-some-name-rs0-2" deleted persistentvolumeclaim "mongod-data-some-name-rs1-0" deleted persistentvolumeclaim "mongod-data-some-name-rs1-1" deleted persistentvolumeclaim "mongod-data-some-name-rs1-2" deleted persistentvolumeclaim "mongod-data-some-name-rs2-0" deleted persistentvolumeclaim "mongod-data-some-name-rs2-1" deleted persistentvolumeclaim "mongod-data-some-name-rs2-2" deleted + cat /tmp/tmp.ySB4iNsfIO + rm /tmp/tmp.QXEYRoCCVT /tmp/tmp.ySB4iNsfIO + 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 ++ mktemp + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1961-f6beb261"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.FxFbYdwB2y ++ mktemp + local LAST_ERR=/tmp/tmp.pAvjzAaoME + 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.FxFbYdwB2y perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.pAvjzAaoME + rm /tmp/tmp.FxFbYdwB2y /tmp/tmp.pAvjzAaoME + 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.nf2mirD8Vj +++ mktemp ++ local LAST_ERR=/tmp/tmp.mmXQCL6CrT ++ 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.nf2mirD8Vj ++ cat /tmp/tmp.mmXQCL6CrT ++ rm /tmp/tmp.nf2mirD8Vj /tmp/tmp.mmXQCL6CrT ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vDfzOi7rav +++ mktemp ++ local LAST_ERR=/tmp/tmp.dKqKqdkbL3 ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vDfzOi7rav ++ cat /tmp/tmp.dKqKqdkbL3 ++ rm /tmp/tmp.vDfzOi7rav /tmp/tmp.dKqKqdkbL3 ++ 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.OZSYjrjOno +++ mktemp ++ local LAST_ERR=/tmp/tmp.7S7M37VogD ++ 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.OZSYjrjOno ++ cat /tmp/tmp.7S7M37VogD ++ rm /tmp/tmp.OZSYjrjOno /tmp/tmp.7S7M37VogD ++ 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.rzvc8nVdAu +++ mktemp ++ local LAST_ERR=/tmp/tmp.6EDvWx0pAr ++ 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.rzvc8nVdAu ++ cat /tmp/tmp.6EDvWx0pAr ++ rm /tmp/tmp.rzvc8nVdAu /tmp/tmp.6EDvWx0pAr ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0M1BVRJq8r +++ mktemp ++ local LAST_ERR=/tmp/tmp.PbBIXHr9Kh ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.0M1BVRJq8r ++ cat /tmp/tmp.PbBIXHr9Kh ++ rm /tmp/tmp.0M1BVRJq8r /tmp/tmp.PbBIXHr9Kh ++ 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.BLfrXbOVbf +++ mktemp ++ local LAST_ERR=/tmp/tmp.AWPiUyFMYh ++ 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.BLfrXbOVbf ++ cat /tmp/tmp.AWPiUyFMYh ++ rm /tmp/tmp.BLfrXbOVbf /tmp/tmp.AWPiUyFMYh ++ 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.xeGntEo6UV +++ mktemp ++ local LAST_ERR=/tmp/tmp.rQTnGXA9Pj ++ 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.xeGntEo6UV ++ cat /tmp/tmp.rQTnGXA9Pj ++ rm /tmp/tmp.xeGntEo6UV /tmp/tmp.rQTnGXA9Pj ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.axtXl2xPnp +++ mktemp ++ local LAST_ERR=/tmp/tmp.PkgFioQIZC ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.axtXl2xPnp ++ cat /tmp/tmp.PkgFioQIZC ++ rm /tmp/tmp.axtXl2xPnp /tmp/tmp.PkgFioQIZC ++ 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.2wOa7Ozs4Y +++ mktemp ++ local LAST_ERR=/tmp/tmp.SUeJ9foVzj ++ 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.2wOa7Ozs4Y ++ cat /tmp/tmp.SUeJ9foVzj ++ rm /tmp/tmp.2wOa7Ozs4Y /tmp/tmp.SUeJ9foVzj ++ 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.5bsioZHiOL +++ mktemp ++ local LAST_ERR=/tmp/tmp.2JqL3ruTz8 ++ 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.5bsioZHiOL ++ cat /tmp/tmp.2JqL3ruTz8 ++ rm /tmp/tmp.5bsioZHiOL /tmp/tmp.2JqL3ruTz8 ++ 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")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qEKbKfAueS +++ mktemp ++ local LAST_ERR=/tmp/tmp.jJsZKNiha1 ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qEKbKfAueS ++ cat /tmp/tmp.jJsZKNiha1 ++ rm /tmp/tmp.qEKbKfAueS /tmp/tmp.jJsZKNiha1 ++ 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.R8AAJOOrBI +++ mktemp ++ local LAST_ERR=/tmp/tmp.VN4RJFxVzO ++ 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.R8AAJOOrBI ++ cat /tmp/tmp.VN4RJFxVzO ++ rm /tmp/tmp.R8AAJOOrBI /tmp/tmp.VN4RJFxVzO ++ 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-12533 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-12533 + 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.aPjprsQ98R +++ mktemp ++ local LAST_ERR=/tmp/tmp.2sXFGMkhGt ++ 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.aPjprsQ98R ++ cat /tmp/tmp.2sXFGMkhGt ++ rm /tmp/tmp.aPjprsQ98R /tmp/tmp.2sXFGMkhGt ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- 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-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ON0UP6IH4C ++ mktemp + local LAST_ERR=/tmp/tmp.J1C8NKi92M + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- 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-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ON0UP6IH4C Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("f383b84c-cf45-4893-b822-a6ef91a1df73") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.J1C8NKi92M + rm /tmp/tmp.ON0UP6IH4C /tmp/tmp.J1C8NKi92M + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2025-08-14T12:14:19+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-12533 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.s4k5xwjet8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.NfzYYnGNYl ++ 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.s4k5xwjet8 ++ cat /tmp/tmp.NfzYYnGNYl ++ rm /tmp/tmp.s4k5xwjet8 /tmp/tmp.NfzYYnGNYl ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.PkNObRvL95 ++ mktemp + local LAST_ERR=/tmp/tmp.m543pJ6wRx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PkNObRvL95 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("67308f62-8a3c-42f3-b804-2a0338e2054a") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.m543pJ6wRx + rm /tmp/tmp.PkNObRvL95 /tmp/tmp.m543pJ6wRx + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + egrep -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:' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' egrep: warning: egrep is obsolescent; using grep -E + 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.MobsOPFz0l +++ mktemp ++ local LAST_ERR=/tmp/tmp.YmdkjWYRe3 ++ 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.MobsOPFz0l ++ cat /tmp/tmp.YmdkjWYRe3 ++ rm /tmp/tmp.MobsOPFz0l /tmp/tmp.YmdkjWYRe3 ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Av7KXGosnZ ++ mktemp + local LAST_ERR=/tmp/tmp.TSOFra5ljb + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Av7KXGosnZ + cat /tmp/tmp.TSOFra5ljb + rm /tmp/tmp.Av7KXGosnZ /tmp/tmp.TSOFra5ljb + 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.Q6XwkbQl0f/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 [2025-08-14T12:14:24+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-12533 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.V28s3nwC8V +++ mktemp ++ local LAST_ERR=/tmp/tmp.LvtTWKdBC2 ++ 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.V28s3nwC8V ++ cat /tmp/tmp.LvtTWKdBC2 ++ rm /tmp/tmp.V28s3nwC8V /tmp/tmp.LvtTWKdBC2 ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.FEX9NEzMZR ++ mktemp + local LAST_ERR=/tmp/tmp.pZEmO0IHL2 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FEX9NEzMZR Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("499921a1-12bc-4367-8df3-93d9ffd9206c") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.pZEmO0IHL2 + rm /tmp/tmp.FEX9NEzMZR /tmp/tmp.pZEmO0IHL2 + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + egrep -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:' + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 mongodb '' '' 27017 + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo egrep: warning: egrep is obsolescent; using grep -E ++ 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.x3QMTlUcjm +++ mktemp ++ local LAST_ERR=/tmp/tmp.M6dJ0Z20Tu ++ 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.x3QMTlUcjm ++ cat /tmp/tmp.M6dJ0Z20Tu ++ rm /tmp/tmp.x3QMTlUcjm /tmp/tmp.M6dJ0Z20Tu ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.0B7JmjkTro ++ mktemp + local LAST_ERR=/tmp/tmp.X2NWeHEr3R + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0B7JmjkTro + cat /tmp/tmp.X2NWeHEr3R + rm /tmp/tmp.0B7JmjkTro /tmp/tmp.X2NWeHEr3R + 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.Q6XwkbQl0f/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.eyrZo41sHs ++ mktemp + local LAST_ERR=/tmp/tmp.Ycs4DNJhVg + 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.eyrZo41sHs perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.Ycs4DNJhVg + rm /tmp/tmp.eyrZo41sHs /tmp/tmp.Ycs4DNJhVg + 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........ + 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.ZV5hDKGGxL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.p4ftTcv9Pa +++ 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.ZV5hDKGGxL +++ cat /tmp/tmp.p4ftTcv9Pa +++ rm /tmp/tmp.ZV5hDKGGxL /tmp/tmp.p4ftTcv9Pa +++ return 0 ++ first_timestamp=1755172499 ++ sleep 5 ++ [[ 1755172499 != '' ]] ++ [[ 1755172499 != \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.iVPr1p52BJ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ovTNJwpPXA +++ 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.iVPr1p52BJ +++ cat /tmp/tmp.ovTNJwpPXA +++ rm /tmp/tmp.iVPr1p52BJ /tmp/tmp.ovTNJwpPXA +++ return 0 ++ second_timestamp=1755172499 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1755172499 != '' ]] ++ [[ 1755172499 != \n\u\l\l ]] ++ [[ 1755172499 == 1755172499 ]] ++ /usr/sbin/date -u -d @1755172499 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2025-08-14T11:54:59Z ++ 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.jC85b1ekoU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9qLgarrFyQ +++ 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.jC85b1ekoU +++ cat /tmp/tmp.9qLgarrFyQ +++ rm /tmp/tmp.jC85b1ekoU /tmp/tmp.9qLgarrFyQ +++ return 0 ++ latestRestorableTime=2025-08-14T11:54:59Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2025-08-14T11:54:59Z != '' ]] ++ [[ 2025-08-14T11:54:59Z != \n\u\l\l ]] ++ echo 2025-08-14T11:54:59Z + backup_time=2025-08-14T11:54:59Z + [[ 2025-08-14T11:54:59Z != \2\0\2\5\-\0\8\-\1\4\T\1\1\:\5\4\:\5\9\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.GW4qtrDhVu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.PXonX5w0Yq +++ 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.GW4qtrDhVu +++ cat /tmp/tmp.PXonX5w0Yq +++ rm /tmp/tmp.GW4qtrDhVu /tmp/tmp.PXonX5w0Yq +++ return 0 ++ echo 1755172499 + local latest_ts=1755172499 + 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-12533 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533 + 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.iLAbCwJgtu +++ mktemp ++ local LAST_ERR=/tmp/tmp.oRSG0pf3vM ++ 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.iLAbCwJgtu ++ cat /tmp/tmp.oRSG0pf3vM ++ rm /tmp/tmp.iLAbCwJgtu /tmp/tmp.oRSG0pf3vM ++ return 0 + local client_container=psmdb-client-66f577db5f-wc6zm + kubectl_bin exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.HYjvlrYwn3 ++ mktemp + local LAST_ERR=/tmp/tmp.UmATsE13ff + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-wc6zm -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HYjvlrYwn3 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-12533.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("c3ef9674-d8b2-4f57-9368-3dfe86e8a8ea") } Percona Server for MongoDB server version: v7.0.22-12 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.UmATsE13ff + rm /tmp/tmp.HYjvlrYwn3 /tmp/tmp.UmATsE13ff + 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.pjX8rK2TT6 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.FrSAkhDi8p +++ 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.pjX8rK2TT6 +++ cat /tmp/tmp.FrSAkhDi8p +++ rm /tmp/tmp.pjX8rK2TT6 /tmp/tmp.FrSAkhDi8p +++ return 0 ++ echo 1755172499 + local current_ts=1755172499 + retries=0 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.dnEsoFHAd9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3J9qL4ecgU +++ 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.dnEsoFHAd9 +++ cat /tmp/tmp.3J9qL4ecgU +++ rm /tmp/tmp.dnEsoFHAd9 /tmp/tmp.3J9qL4ecgU +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=1 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.suU0ix3Ben ++++ mktemp +++ local LAST_ERR=/tmp/tmp.AkmTB5AawL +++ 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.suU0ix3Ben +++ cat /tmp/tmp.AkmTB5AawL +++ rm /tmp/tmp.suU0ix3Ben /tmp/tmp.AkmTB5AawL +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=2 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.uMNXd35FzN ++++ mktemp +++ local LAST_ERR=/tmp/tmp.A1eRE4E80u +++ 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.uMNXd35FzN +++ cat /tmp/tmp.A1eRE4E80u +++ rm /tmp/tmp.uMNXd35FzN /tmp/tmp.A1eRE4E80u +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=3 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.A6MBlhlbR9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gbwg3w2fBZ +++ 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.A6MBlhlbR9 +++ cat /tmp/tmp.gbwg3w2fBZ +++ rm /tmp/tmp.A6MBlhlbR9 /tmp/tmp.gbwg3w2fBZ +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=4 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.6NDoa7Ov9U ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JuAJjrPxtg +++ 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.6NDoa7Ov9U +++ cat /tmp/tmp.JuAJjrPxtg +++ rm /tmp/tmp.6NDoa7Ov9U /tmp/tmp.JuAJjrPxtg +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=5 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.lvUHGDkXO1 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.b9WQDlmrgn +++ 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.lvUHGDkXO1 +++ cat /tmp/tmp.b9WQDlmrgn +++ rm /tmp/tmp.lvUHGDkXO1 /tmp/tmp.b9WQDlmrgn +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=6 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.2itkUc2Vf0 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EIWbvoRrFp +++ 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.2itkUc2Vf0 +++ cat /tmp/tmp.EIWbvoRrFp +++ rm /tmp/tmp.2itkUc2Vf0 /tmp/tmp.EIWbvoRrFp +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=7 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.CfIyh5UhJZ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.iSi2LX0KmK +++ 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.CfIyh5UhJZ +++ cat /tmp/tmp.iSi2LX0KmK +++ rm /tmp/tmp.CfIyh5UhJZ /tmp/tmp.iSi2LX0KmK +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=8 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.SAdtfqcQ4J ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JD5RGa803w +++ 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.SAdtfqcQ4J +++ cat /tmp/tmp.JD5RGa803w +++ rm /tmp/tmp.SAdtfqcQ4J /tmp/tmp.JD5RGa803w +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=9 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.rJoc4NcGfp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Xe9vBBYBhQ +++ 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.rJoc4NcGfp +++ cat /tmp/tmp.Xe9vBBYBhQ +++ rm /tmp/tmp.rJoc4NcGfp /tmp/tmp.Xe9vBBYBhQ +++ return 0 ++ echo 1755172499 + latest_ts=1755172499 + retries=10 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 11:54:59) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755172499 -gt 1755172499 ]] + [[ 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.aQPwZ0Q5vj ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nWiOD0vrz4 +++ 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.aQPwZ0Q5vj +++ cat /tmp/tmp.nWiOD0vrz4 +++ rm /tmp/tmp.aQPwZ0Q5vj /tmp/tmp.nWiOD0vrz4 +++ return 0 ++ echo 1755173811 + latest_ts=1755173811 + retries=11 ++ format_date 1755173811 ++ local timestamp=1755173811 +++ TZ=UTC +++ /usr/sbin/date -d@1755173811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 12:16:51 ++ format_date 1755172499 ++ local timestamp=1755172499 +++ TZ=UTC +++ /usr/sbin/date -d@1755172499 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-08-14 11:54:59 + echo 'Waiting for last oplog chunk (2025-08-14 12:16:51) to be 120 seconds older than starting chunk (2025-08-14 11:54:59)' Waiting for last oplog chunk (2025-08-14 12:16:51) to be 120 seconds older than starting chunk (2025-08-14 11:54:59) + sleep 10 + [[ 1755173811 -gt 1755172499 ]] + '[' -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 ++ local LAST_OUT=/tmp/tmp.YaHdabKXdi +++ mktemp ++ local LAST_ERR=/tmp/tmp.FcRxC4e9Jl ++ 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.YaHdabKXdi ++ cat /tmp/tmp.FcRxC4e9Jl ++ rm /tmp/tmp.YaHdabKXdi /tmp/tmp.FcRxC4e9Jl ++ return 0 + backup_dest=operator-testing/2025-08-14T12:14:32Z + 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/' + '[' -z '' ']' + /usr/sbin/sed -e /date:/d + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2025-08-14T12:14:32Z|' + '[' -n '' ']' + yq ++ get_bucket_name backup-minio-2 ++ local backup_name=backup-minio-2 + kubectl_bin apply -f - ++ kubectl_bin get psmdb-backup backup-minio-2 -o 'jsonpath={.status.s3.bucket}' +++ mktemp ++ mktemp ++ local LAST_OUT=/tmp/tmp.LqruArHD3b + local LAST_OUT=/tmp/tmp.ilCybwSu7o +++ mktemp ++ mktemp ++ local LAST_ERR=/tmp/tmp.qim8nwY4aO ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 + local LAST_ERR=/tmp/tmp.PluomaRRmk + 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.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.LqruArHD3b ++ cat /tmp/tmp.qim8nwY4aO ++ rm /tmp/tmp.LqruArHD3b /tmp/tmp.qim8nwY4aO ++ 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.ilCybwSu7o perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-2 created + cat /tmp/tmp.PluomaRRmk + rm /tmp/tmp.ilCybwSu7o /tmp/tmp.PluomaRRmk + 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 createdOK Waiting psmdb-restore/restore-backup-minio-2 to reach state "requested" ....