Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/logs/pitr-physical-backup-source.log grep: warning: stray \ before - Warning: version difference between client (1.34) and server (1.30) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.34) and server (1.30) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.34) and server (1.30) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-backup-source-20814 + local ns=pitr-physical-backup-source-20814 + [[ 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-1987/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.kcoXFTops3 ++ mktemp + local LAST_ERR=/tmp/tmp.QL20jA6ZB9 + 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-1987/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kcoXFTops3 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.QL20jA6ZB9 + rm /tmp/tmp.kcoXFTops3 /tmp/tmp.QL20jA6ZB9 + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.fMITIfZpz6 ++ mktemp + local LAST_ERR=/tmp/tmp.E5muM3hUso + 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.fMITIfZpz6 + cat /tmp/tmp.E5muM3hUso + rm /tmp/tmp.fMITIfZpz6 /tmp/tmp.E5muM3hUso + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.AvhEVfGAVz ++ mktemp + local LAST_ERR=/tmp/tmp.RNB8wWrxi8 + 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.AvhEVfGAVz + cat /tmp/tmp.RNB8wWrxi8 + rm /tmp/tmp.AvhEVfGAVz /tmp/tmp.RNB8wWrxi8 + 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.ViFesW5szV ++ mktemp + local LAST_ERR=/tmp/tmp.COa6VDo0pp + 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.ViFesW5szV + cat /tmp/tmp.COa6VDo0pp + rm /tmp/tmp.ViFesW5szV /tmp/tmp.COa6VDo0pp + 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-1987/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.KrQXVB1uLG ++ mktemp + local LAST_ERR=/tmp/tmp.snbGDi3vAL + 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-1987/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KrQXVB1uLG 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.snbGDi3vAL + rm /tmp/tmp.KrQXVB1uLG /tmp/tmp.snbGDi3vAL + return 0 + check_crd_for_deletion PR-1987-d120637a + local git_tag=PR-1987-d120637a ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1987-d120637a/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7gQmhEGBMX +++ mktemp ++ local LAST_ERR=/tmp/tmp.c2D1huKBNL ++ 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.7gQmhEGBMX ++ cat /tmp/tmp.c2D1huKBNL 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.7gQmhEGBMX ++ cat /tmp/tmp.c2D1huKBNL 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.7gQmhEGBMX ++ cat /tmp/tmp.c2D1huKBNL Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.7gQmhEGBMX ++ cat /tmp/tmp.c2D1huKBNL Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.7gQmhEGBMX /tmp/tmp.c2D1huKBNL ++ 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 '' ']' + awk '{print$1}' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp ++ mktemp egrep: warning: egrep is obsolescent; using grep -E + local LAST_OUT=/tmp/tmp.EXFcxfBa7L + local LAST_OUT=/tmp/tmp.BjfK6stczn ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.DrcHzDeYef + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.PjTgzmqqyf + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.EXFcxfBa7L + cat /tmp/tmp.DrcHzDeYef + rm /tmp/tmp.EXFcxfBa7L /tmp/tmp.DrcHzDeYef + return 0 namespace "pitr-physical-backup-source-26604" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BjfK6stczn namespace "psmdb-operator" deleted + cat /tmp/tmp.PjTgzmqqyf + rm /tmp/tmp.BjfK6stczn /tmp/tmp.PjTgzmqqyf + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.OV4hgVO11q ++ mktemp + local LAST_ERR=/tmp/tmp.3FRMKVcEHJ + 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.OV4hgVO11q + cat /tmp/tmp.3FRMKVcEHJ + rm /tmp/tmp.OV4hgVO11q /tmp/tmp.3FRMKVcEHJ + 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.WEZF4yAPwf ++ mktemp + local LAST_ERR=/tmp/tmp.GRih65o8vo + 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.WEZF4yAPwf namespace/psmdb-operator created + cat /tmp/tmp.GRih65o8vo + rm /tmp/tmp.WEZF4yAPwf /tmp/tmp.GRih65o8vo + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.vryH7buVzL +++ mktemp ++ local LAST_ERR=/tmp/tmp.lfFfefifsI ++ 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.vryH7buVzL ++ cat /tmp/tmp.lfFfefifsI ++ rm /tmp/tmp.vryH7buVzL /tmp/tmp.lfFfefifsI ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1987-d120637a-5-cluster3 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.tPZa2tds7x ++ mktemp + local LAST_ERR=/tmp/tmp.0fBRC98GIR + 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-1987-d120637a-5-cluster3 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tPZa2tds7x Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1987-d120637a-5-cluster3" modified. + cat /tmp/tmp.0fBRC98GIR + rm /tmp/tmp.tPZa2tds7x /tmp/tmp.0fBRC98GIR + 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-1987/e2e-tests/pitr-physical-backup-source/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.RpPlgjvKlm ++ mktemp + local LAST_ERR=/tmp/tmp.2SqccjTtQX + 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-1987/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RpPlgjvKlm 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.2SqccjTtQX + rm /tmp/tmp.RpPlgjvKlm /tmp/tmp.2SqccjTtQX + 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-1987/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.D5X6q0wKx2 ++ mktemp + local LAST_ERR=/tmp/tmp.ZiYn1Q6ww5 + 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.D5X6q0wKx2 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.ZiYn1Q6ww5 + rm /tmp/tmp.D5X6q0wKx2 /tmp/tmp.ZiYn1Q6ww5 + return 0 + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1987-d120637a") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/deploy/cw-operator.yaml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.9khWfh2IGk ++ mktemp + local LAST_ERR=/tmp/tmp.Y0t4uRMlNX + 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.9khWfh2IGk deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.Y0t4uRMlNX + rm /tmp/tmp.9khWfh2IGk /tmp/tmp.Y0t4uRMlNX + 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.ZTEc3HR0Oz +++ mktemp ++ local LAST_ERR=/tmp/tmp.apw1Rsh7Jk ++ 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.ZTEc3HR0Oz ++ cat /tmp/tmp.apw1Rsh7Jk ++ rm /tmp/tmp.ZTEc3HR0Oz /tmp/tmp.apw1Rsh7Jk ++ return 0 + wait_pod percona-server-mongodb-operator-85f675667c-pmwg8 + local pod=percona-server-mongodb-operator-85f675667c-pmwg8 + set +o xtrace waiting for pod/percona-server-mongodb-operator-85f675667c-pmwg8 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.RCuKoyvmPy +++ mktemp ++ local LAST_ERR=/tmp/tmp.WTNWzpHVUo ++ 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.RCuKoyvmPy ++ cat /tmp/tmp.WTNWzpHVUo ++ rm /tmp/tmp.RCuKoyvmPy /tmp/tmp.WTNWzpHVUo ++ return 0 + kubectl_bin logs percona-server-mongodb-operator-85f675667c-pmwg8 ++ mktemp + local LAST_OUT=/tmp/tmp.tb6qW6Ne5R ++ mktemp + local LAST_ERR=/tmp/tmp.hnFBgLe2Lv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs percona-server-mongodb-operator-85f675667c-pmwg8 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tb6qW6Ne5R + cat /tmp/tmp.hnFBgLe2Lv + rm /tmp/tmp.tb6qW6Ne5R /tmp/tmp.hnFBgLe2Lv + return 0 2025-09-22T15:30:13.493Z INFO setup Manager starting up {"gitCommit": "d120637a46cfaf89d946ade2d9faedf115796e14", "gitBranch": "PR-1987-d120637a", "buildTime": "", "goVersion": "go1.25.1", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-backup-source-20814 + local namespace=pitr-physical-backup-source-20814 + 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' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces pitr-physical-backup-source-20814' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-backup-source-20814 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-backup-source-20814 --ignore-not-found ++ mktemp ++ mktemp egrep: warning: egrep is obsolescent; using grep -E + local LAST_OUT=/tmp/tmp.nUwIB0tD2B ++ mktemp + local LAST_OUT=/tmp/tmp.7kEJWCA4kH ++ mktemp + local LAST_ERR=/tmp/tmp.9rmmZ7A3ky + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.xLENcl18Hn + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-physical-backup-source-20814 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.nUwIB0tD2B + cat /tmp/tmp.9rmmZ7A3ky + rm /tmp/tmp.nUwIB0tD2B /tmp/tmp.9rmmZ7A3ky + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7kEJWCA4kH + cat /tmp/tmp.xLENcl18Hn + rm /tmp/tmp.7kEJWCA4kH /tmp/tmp.xLENcl18Hn + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-backup-source-20814 ++ mktemp + local LAST_OUT=/tmp/tmp.TaU63mseyw ++ mktemp + local LAST_ERR=/tmp/tmp.rHBFAfmPbC + 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-20814 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TaU63mseyw + cat /tmp/tmp.rHBFAfmPbC + rm /tmp/tmp.TaU63mseyw /tmp/tmp.rHBFAfmPbC + return 0 + desc 'create namespace pitr-physical-backup-source-20814' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-backup-source-20814 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-backup-source-20814 ++ mktemp + local LAST_OUT=/tmp/tmp.tt40X9xvEW ++ mktemp + local LAST_ERR=/tmp/tmp.5UGeA4LbWm + 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-20814 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tt40X9xvEW namespace/pitr-physical-backup-source-20814 created + cat /tmp/tmp.5UGeA4LbWm + rm /tmp/tmp.tt40X9xvEW /tmp/tmp.5UGeA4LbWm + return 0 + set_kube_ctx pitr-physical-backup-source-20814 + local namespace=pitr-physical-backup-source-20814 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.uI38ACv3fS +++ mktemp ++ local LAST_ERR=/tmp/tmp.YcI5Ct9SSZ ++ 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.uI38ACv3fS ++ cat /tmp/tmp.YcI5Ct9SSZ ++ rm /tmp/tmp.uI38ACv3fS /tmp/tmp.YcI5Ct9SSZ ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1987-d120637a-5-cluster3 --namespace=pitr-physical-backup-source-20814 ++ mktemp + local LAST_OUT=/tmp/tmp.FUqHjOpmGL ++ mktemp + local LAST_ERR=/tmp/tmp.DzeDRyjTTI + 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-1987-d120637a-5-cluster3 --namespace=pitr-physical-backup-source-20814 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FUqHjOpmGL Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1987-d120637a-5-cluster3" modified. + cat /tmp/tmp.DzeDRyjTTI + rm /tmp/tmp.FUqHjOpmGL /tmp/tmp.DzeDRyjTTI + return 0 + deploy_minio + desc 'install Minio' + set +o xtrace ----------------------------------------------------------------------------------- install Minio ----------------------------------------------------------------------------------- + helm uninstall minio-service Error: uninstall: Release not loaded: minio-service: release: not found + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio NAME: minio-service LAST DEPLOYED: Mon Sep 22 15:30:36 2025 NAMESPACE: pitr-physical-backup-source-20814 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-20814.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-backup-source-20814 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-backup-source-20814 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-20814 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-backup-source-20814 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.2vmtRyVzNW +++ mktemp ++ local LAST_ERR=/tmp/tmp.72aiqKMs0I ++ 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.2vmtRyVzNW ++ cat /tmp/tmp.72aiqKMs0I ++ rm /tmp/tmp.2vmtRyVzNW /tmp/tmp.72aiqKMs0I ++ return 0 + MINIO_POD=minio-service-86dfccd949-mfz8s + wait_pod minio-service-86dfccd949-mfz8s + local pod=minio-service-86dfccd949-mfz8s + set +o xtrace waiting for pod/minio-service-86dfccd949-mfz8s 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-20814.svc.cluster.local --tcp=9000 ++ mktemp + local LAST_OUT=/tmp/tmp.F0OEUlnG3Y ++ mktemp + local LAST_ERR=/tmp/tmp.BTkykZoHAr + 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-20814.svc.cluster.local --tcp=9000 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.F0OEUlnG3Y service/minio-service created + cat /tmp/tmp.BTkykZoHAr + rm /tmp/tmp.F0OEUlnG3Y /tmp/tmp.BTkykZoHAr + 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.Ti7IM568Wx ++ mktemp + local LAST_ERR=/tmp/tmp.r94gww93nt + 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.Ti7IM568Wx pod "aws-cli" deleted from pitr-physical-backup-source-20814 namespace + cat /tmp/tmp.r94gww93nt All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.Ti7IM568Wx /tmp/tmp.r94gww93nt + 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-1987/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.4DqDBCuKHM ++ mktemp + local LAST_ERR=/tmp/tmp.MnyAtFgMcT + 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-1987/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.4DqDBCuKHM secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.MnyAtFgMcT + rm /tmp/tmp.4DqDBCuKHM /tmp/tmp.MnyAtFgMcT + 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-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1987-d120637a"' + yq eval '.spec.upgradeOptions.apply="Never"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_OUT=/tmp/tmp.4Czs95P8V1 ++ mktemp + local LAST_ERR=/tmp/tmp.lgDnK808T1 + 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.4Czs95P8V1 perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.lgDnK808T1 + rm /tmp/tmp.4Czs95P8V1 /tmp/tmp.lgDnK808T1 + 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.MIgEB0daYu +++ mktemp ++ local LAST_ERR=/tmp/tmp.yLGVF2XT8T ++ 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.MIgEB0daYu ++ cat /tmp/tmp.yLGVF2XT8T ++ rm /tmp/tmp.MIgEB0daYu /tmp/tmp.yLGVF2XT8T ++ 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.2WdjlSIgxW +++ mktemp ++ local LAST_ERR=/tmp/tmp.RP8gBU60pA ++ 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.2WdjlSIgxW ++ cat /tmp/tmp.RP8gBU60pA ++ rm /tmp/tmp.2WdjlSIgxW /tmp/tmp.RP8gBU60pA ++ 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.5cV1VQnG1S +++ mktemp ++ local LAST_ERR=/tmp/tmp.E6xoyonlhx ++ 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.5cV1VQnG1S ++ cat /tmp/tmp.E6xoyonlhx ++ rm /tmp/tmp.5cV1VQnG1S /tmp/tmp.E6xoyonlhx ++ 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.2zCwf478rF +++ mktemp ++ local LAST_ERR=/tmp/tmp.7VtGJN4LLf ++ 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.2zCwf478rF ++ cat /tmp/tmp.7VtGJN4LLf ++ rm /tmp/tmp.2zCwf478rF /tmp/tmp.7VtGJN4LLf ++ 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.Gx7tpTUuc2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.oLlxlylrgM ++ 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.Gx7tpTUuc2 ++ cat /tmp/tmp.oLlxlylrgM ++ rm /tmp/tmp.Gx7tpTUuc2 /tmp/tmp.oLlxlylrgM ++ 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.QrUNZHr0w5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.GDnjHyUcAb ++ 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.QrUNZHr0w5 ++ cat /tmp/tmp.GDnjHyUcAb ++ rm /tmp/tmp.QrUNZHr0w5 /tmp/tmp.GDnjHyUcAb ++ 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-20814 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-20814 + 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.yJhC6cxtTq +++ mktemp ++ local LAST_ERR=/tmp/tmp.imqYmSwXZX ++ 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.yJhC6cxtTq ++ cat /tmp/tmp.imqYmSwXZX ++ rm /tmp/tmp.yJhC6cxtTq /tmp/tmp.imqYmSwXZX ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- 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-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.gc5XDNwSPP ++ mktemp + local LAST_ERR=/tmp/tmp.BucMahPoRg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- 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-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gc5XDNwSPP Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("59433220-46d5-46f6-b622-78e7771371ad") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.BucMahPoRg + rm /tmp/tmp.gc5XDNwSPP /tmp/tmp.BucMahPoRg + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2025-09-22T15:35:05+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-20814 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.9DWkVWnOLY +++ mktemp ++ local LAST_ERR=/tmp/tmp.uYvqNYdyrG ++ 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.9DWkVWnOLY ++ cat /tmp/tmp.uYvqNYdyrG ++ rm /tmp/tmp.9DWkVWnOLY /tmp/tmp.uYvqNYdyrG ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Y92BHrNVMV ++ mktemp + local LAST_ERR=/tmp/tmp.NYUaUO8enK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Y92BHrNVMV Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("80649a81-45a8-4f1f-8cb0-cf0ea8eeb06a") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.NYUaUO8enK + rm /tmp/tmp.Y92BHrNVMV /tmp/tmp.NYUaUO8enK + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local driver=mongodb + 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:|Started a new thread for the timer service' + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' 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.KnFVAhgCXP +++ mktemp ++ local LAST_ERR=/tmp/tmp.hs0y96nmZn ++ 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.KnFVAhgCXP ++ cat /tmp/tmp.hs0y96nmZn ++ rm /tmp/tmp.KnFVAhgCXP /tmp/tmp.hs0y96nmZn ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.MUp2cEKBbI ++ mktemp + local LAST_ERR=/tmp/tmp.nmGBlOuTc4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MUp2cEKBbI + cat /tmp/tmp.nmGBlOuTc4 + rm /tmp/tmp.MUp2cEKBbI /tmp/tmp.nmGBlOuTc4 + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.gmdwjgxzhg/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-09-22T15:34:37.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-09-22T15:34:37.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-09-22T15:34:38.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-09-22T15:34:38.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-09-22T15:34:37.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-09-22T15:34:38.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-09-22T15:34:40.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-09-22T15:34:38.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-09-22T15:34:39.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-1987/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.ElQIJtlY5Y ++ mktemp + local LAST_ERR=/tmp/tmp.70wqJWBGJx + 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.ElQIJtlY5Y perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.70wqJWBGJx + rm /tmp/tmp.ElQIJtlY5Y /tmp/tmp.70wqJWBGJx + 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.4KrBT7a9gU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4KmJkbsACL +++ 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.4KrBT7a9gU +++ cat /tmp/tmp.4KmJkbsACL +++ rm /tmp/tmp.4KrBT7a9gU /tmp/tmp.4KmJkbsACL +++ 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.yFKK90qDkH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.t6lkotxuFn +++ 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.yFKK90qDkH +++ cat /tmp/tmp.t6lkotxuFn +++ rm /tmp/tmp.yFKK90qDkH /tmp/tmp.t6lkotxuFn +++ 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.1JM3A0UJVj ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nZVhewE9Gz +++ 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.1JM3A0UJVj +++ cat /tmp/tmp.nZVhewE9Gz +++ rm /tmp/tmp.1JM3A0UJVj /tmp/tmp.nZVhewE9Gz +++ 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.DdsM3N5lfL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.rmLS7A8Vb2 +++ 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.DdsM3N5lfL +++ cat /tmp/tmp.rmLS7A8Vb2 +++ rm /tmp/tmp.DdsM3N5lfL /tmp/tmp.rmLS7A8Vb2 +++ 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.3L2pcjvigB ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XPURtF5taD +++ 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.3L2pcjvigB +++ cat /tmp/tmp.XPURtF5taD +++ rm /tmp/tmp.3L2pcjvigB /tmp/tmp.XPURtF5taD +++ return 0 ++ first_timestamp=1758555721 ++ sleep 5 ++ [[ 1758555721 != '' ]] ++ [[ 1758555721 != \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.N5DCcI4FyA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gFvbMkOLTo +++ 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.N5DCcI4FyA +++ cat /tmp/tmp.gFvbMkOLTo +++ rm /tmp/tmp.N5DCcI4FyA /tmp/tmp.gFvbMkOLTo +++ return 0 ++ second_timestamp=1758555721 ++ let retry+=1 ++ [[ 5 -gt 30 ]] ++ [[ 1758555721 != '' ]] ++ [[ 1758555721 != \n\u\l\l ]] ++ [[ 1758555721 == 1758555721 ]] ++ /usr/sbin/date -u -d @1758555721 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2025-09-22T15:42:01Z ++ 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.f4Qv6tK67B ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UK0Nn5TwbN +++ 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.f4Qv6tK67B +++ cat /tmp/tmp.UK0Nn5TwbN +++ rm /tmp/tmp.f4Qv6tK67B /tmp/tmp.UK0Nn5TwbN +++ return 0 ++ latestRestorableTime=2025-09-22T15:42:01Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2025-09-22T15:42:01Z != '' ]] ++ [[ 2025-09-22T15:42:01Z != \n\u\l\l ]] ++ echo 2025-09-22T15:42:01Z + backup_time=2025-09-22T15:42:01Z + [[ 2025-09-22T15:42:01Z != \2\0\2\5\-\0\9\-\2\2\T\1\5\:\4\2\:\0\1\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-20814 + local 'command=use myApp\n db.test.remove({})' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.hYteJmjv5f +++ mktemp ++ local LAST_ERR=/tmp/tmp.UO2mK5Gz6s ++ 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.hYteJmjv5f ++ cat /tmp/tmp.UO2mK5Gz6s ++ rm /tmp/tmp.hYteJmjv5f /tmp/tmp.UO2mK5Gz6s ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.kTe5opXzpv ++ mktemp + local LAST_ERR=/tmp/tmp.DFBkgRWJnc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.remove({})\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kTe5opXzpv Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("804c0742-9a1c-42b2-9c90-930ef6531e87") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nRemoved" : 1 }) bye + cat /tmp/tmp.DFBkgRWJnc + rm /tmp/tmp.kTe5opXzpv /tmp/tmp.DFBkgRWJnc + 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-09-22T15:42:29+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-20814 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.svstf2Wzha +++ mktemp ++ local LAST_ERR=/tmp/tmp.06yMyemho7 ++ 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.svstf2Wzha ++ cat /tmp/tmp.06yMyemho7 ++ rm /tmp/tmp.svstf2Wzha /tmp/tmp.06yMyemho7 ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.O3kBNnNbav ++ mktemp + local LAST_ERR=/tmp/tmp.tq90Qe3okR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.O3kBNnNbav Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("23b0295d-a366-426f-9b6c-2f85fd3653c9") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.tq90Qe3okR + rm /tmp/tmp.O3kBNnNbav /tmp/tmp.tq90Qe3okR + return 0 + sleep 120 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' 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.iKrF3ZDaRB +++ mktemp ++ local LAST_ERR=/tmp/tmp.DEraVCz6UN ++ 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.iKrF3ZDaRB ++ cat /tmp/tmp.DEraVCz6UN ++ rm /tmp/tmp.iKrF3ZDaRB /tmp/tmp.DEraVCz6UN ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.goI4rpSSD5 ++ mktemp + local LAST_ERR=/tmp/tmp.izw2xAUshC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.goI4rpSSD5 + cat /tmp/tmp.izw2xAUshC + rm /tmp/tmp.goI4rpSSD5 /tmp/tmp.izw2xAUshC + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.gmdwjgxzhg/find ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' --quiet ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match' ++ cut -d. -f1 +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.628DuAyyIT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NV8IMUj0SS +++ 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.628DuAyyIT +++ cat /tmp/tmp.NV8IMUj0SS +++ rm /tmp/tmp.628DuAyyIT /tmp/tmp.NV8IMUj0SS +++ return 0 ++ local client_container=psmdb-client-66f577db5f-86cxx ++ kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.71m1UXNwkO +++ mktemp ++ local LAST_ERR=/tmp/tmp.zVdrekVntP ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.71m1UXNwkO ++ cat /tmp/tmp.zVdrekVntP ++ rm /tmp/tmp.71m1UXNwkO /tmp/tmp.zVdrekVntP ++ return 0 + time_now=1758555876 + check_recovery backup-minio-1 date 1758555876 '' some-name backupSource + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1758555876 + 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.weR7WjZXpn ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hAc3ssx2BD +++ 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.weR7WjZXpn +++ cat /tmp/tmp.hAc3ssx2BD +++ rm /tmp/tmp.weR7WjZXpn /tmp/tmp.hAc3ssx2BD +++ return 0 ++ echo 1758555845 + local latest_ts=1758555845 + 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-20814 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.jy21Xrup4D +++ mktemp ++ local LAST_ERR=/tmp/tmp.h3WsSkbD7Y ++ 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.jy21Xrup4D ++ cat /tmp/tmp.h3WsSkbD7Y ++ rm /tmp/tmp.jy21Xrup4D /tmp/tmp.h3WsSkbD7Y ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ZZH4fokLIl ++ mktemp + local LAST_ERR=/tmp/tmp.9bb7iUcWMB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZZH4fokLIl Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("68d8c074-b1f6-46dc-9523-55750053402a") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.9bb7iUcWMB + rm /tmp/tmp.ZZH4fokLIl /tmp/tmp.9bb7iUcWMB + return 0 + [[ -n 1758555876 ]] ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + desc 'Restoring to time 2025-09-22 15:44:36' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2025-09-22 15:44:36 ----------------------------------------------------------------------------------- + retries=0 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.PcrxO9yFf9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.eZe6UVegpS +++ 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.PcrxO9yFf9 +++ cat /tmp/tmp.eZe6UVegpS +++ rm /tmp/tmp.PcrxO9yFf9 /tmp/tmp.eZe6UVegpS +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=1 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.nMmGZOG3e8 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ha1vyrt5P1 +++ 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.nMmGZOG3e8 +++ cat /tmp/tmp.ha1vyrt5P1 +++ rm /tmp/tmp.nMmGZOG3e8 /tmp/tmp.ha1vyrt5P1 +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=2 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.bQxvwC7Ufi ++++ mktemp +++ local LAST_ERR=/tmp/tmp.dMCLG5uR3Q +++ 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.bQxvwC7Ufi +++ cat /tmp/tmp.dMCLG5uR3Q +++ rm /tmp/tmp.bQxvwC7Ufi /tmp/tmp.dMCLG5uR3Q +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=3 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.UUvxglJLLJ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3dLPxJl04X +++ 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.UUvxglJLLJ +++ cat /tmp/tmp.3dLPxJl04X +++ rm /tmp/tmp.UUvxglJLLJ /tmp/tmp.3dLPxJl04X +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=4 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.l2WVoo8iHD ++++ mktemp +++ local LAST_ERR=/tmp/tmp.G6FUQcwGfx +++ 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.l2WVoo8iHD +++ cat /tmp/tmp.G6FUQcwGfx +++ rm /tmp/tmp.l2WVoo8iHD /tmp/tmp.G6FUQcwGfx +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=5 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.9EEMt0twsI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.E7gUZ4VuIm +++ 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.9EEMt0twsI +++ cat /tmp/tmp.E7gUZ4VuIm +++ rm /tmp/tmp.9EEMt0twsI /tmp/tmp.E7gUZ4VuIm +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=6 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.lBgWbkCXLN ++++ mktemp +++ local LAST_ERR=/tmp/tmp.oUwen5yTOC +++ 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.lBgWbkCXLN +++ cat /tmp/tmp.oUwen5yTOC +++ rm /tmp/tmp.lBgWbkCXLN /tmp/tmp.oUwen5yTOC +++ return 0 ++ echo 1758555845 + latest_ts=1758555845 + retries=7 ++ format_date 1758555845 ++ local timestamp=1758555845 +++ TZ=UTC +++ /usr/sbin/date -d@1758555845 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:05 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:05) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555845 -gt 1758555876 ]] + [[ 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.SrACqtbqfs ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Z4YQaps8Gv +++ 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.SrACqtbqfs +++ cat /tmp/tmp.Z4YQaps8Gv +++ rm /tmp/tmp.SrACqtbqfs /tmp/tmp.Z4YQaps8Gv +++ return 0 ++ echo 1758555847 + latest_ts=1758555847 + retries=8 ++ format_date 1758555847 ++ local timestamp=1758555847 +++ TZ=UTC +++ /usr/sbin/date -d@1758555847 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:07 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:07) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:07) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555847 -gt 1758555876 ]] + [[ 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.25YN5jEIjw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5hszdRHY4q +++ 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.25YN5jEIjw +++ cat /tmp/tmp.5hszdRHY4q +++ rm /tmp/tmp.25YN5jEIjw /tmp/tmp.5hszdRHY4q +++ return 0 ++ echo 1758555851 + latest_ts=1758555851 + retries=9 ++ format_date 1758555851 ++ local timestamp=1758555851 +++ TZ=UTC +++ /usr/sbin/date -d@1758555851 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:11 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:44:11) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:44:11) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555851 -gt 1758555876 ]] + [[ 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.tq6yj8XzOg ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3KgSLmOR0G +++ 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.tq6yj8XzOg +++ cat /tmp/tmp.3KgSLmOR0G +++ rm /tmp/tmp.tq6yj8XzOg /tmp/tmp.3KgSLmOR0G +++ return 0 ++ echo 1758555961 + latest_ts=1758555961 + retries=10 ++ format_date 1758555961 ++ local timestamp=1758555961 +++ TZ=UTC +++ /usr/sbin/date -d@1758555961 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:46:01 ++ format_date 1758555876 ++ local timestamp=1758555876 +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:44:36 + echo 'Waiting for last oplog chunk (2025-09-22 15:46:01) to be greater than restore target (2025-09-22 15:44:36)' Waiting for last oplog chunk (2025-09-22 15:46:01) to be greater than restore target (2025-09-22 15:44:36) + sleep 10 + [[ 1758555961 -gt 1758555876 ]] + '[' -z backupSource ']' + desc 'check restore by date backupSource' + set +o xtrace ----------------------------------------------------------------------------------- check restore by date backupSource ----------------------------------------------------------------------------------- ++ get_backup_dest backup-minio-1 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' +++ mktemp ++ sed 's|azure://||' ++ local LAST_OUT=/tmp/tmp.7egfkSN3qu +++ mktemp ++ local LAST_ERR=/tmp/tmp.tSByNYfUng ++ 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.7egfkSN3qu ++ cat /tmp/tmp.tSByNYfUng ++ rm /tmp/tmp.7egfkSN3qu /tmp/tmp.tSByNYfUng ++ return 0 + backup_dest=operator-testing/2025-09-22T15:41:27Z + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-1/' + /usr/sbin/sed -e 's/pitrType:/type: date/' + /usr/sbin/sed -e /backupName/d + '[' -z 1758555876 ']' + /usr/sbin/sed -e 's|DESTINATION|operator-testing/2025-09-22T15:41:27Z|' + '[' -n '' ']' + yq ++ format_date 1758555876 ++ local timestamp=1758555876 + kubectl_bin apply -f - ++ get_bucket_name backup-minio-1 ++ local backup_name=backup-minio-1 ++ kubectl_bin get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' +++ TZ=UTC +++ /usr/sbin/date -d@1758555876 '+%Y-%m-%d %H:%M:%S' ++ mktemp +++ mktemp ++ echo 2025-09-22 15:44:36 ++ local LAST_OUT=/tmp/tmp.53G2y6KMui + /usr/sbin/sed -e 's/date:/date: 2025-09-22 15:44:36/' +++ mktemp + local LAST_OUT=/tmp/tmp.IAngJgcHso ++ mktemp ++ local LAST_ERR=/tmp/tmp.RzBzhRIelx ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 + local LAST_ERR=/tmp/tmp.J2t4YyE5Yq + local exit_status=0 + local timeout=4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-1 -o 'jsonpath={.status.s3.bucket}' ++ 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.53G2y6KMui ++ cat /tmp/tmp.RzBzhRIelx ++ rm /tmp/tmp.53G2y6KMui /tmp/tmp.RzBzhRIelx ++ 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.IAngJgcHso perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.J2t4YyE5Yq + rm /tmp/tmp.IAngJgcHso /tmp/tmp.J2t4YyE5Yq + 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 7 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-1 some-name ready 0 1600 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be 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.0YZzab40Vh +++ mktemp ++ local LAST_ERR=/tmp/tmp.mnwZWb7k4W ++ 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.0YZzab40Vh ++ cat /tmp/tmp.mnwZWb7k4W ++ rm /tmp/tmp.0YZzab40Vh /tmp/tmp.mnwZWb7k4W ++ 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.Zu5lqbnthN +++ mktemp ++ local LAST_ERR=/tmp/tmp.qXINBs3VvB ++ 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.Zu5lqbnthN ++ cat /tmp/tmp.qXINBs3VvB ++ rm /tmp/tmp.Zu5lqbnthN /tmp/tmp.qXINBs3VvB ++ 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.C54KNAmrIm +++ mktemp ++ local LAST_ERR=/tmp/tmp.5NepFfQbJI ++ 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.C54KNAmrIm ++ cat /tmp/tmp.5NepFfQbJI ++ rm /tmp/tmp.C54KNAmrIm /tmp/tmp.5NepFfQbJI ++ 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.3ir5hoOath +++ mktemp ++ local LAST_ERR=/tmp/tmp.glXhz2KW1C ++ 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.3ir5hoOath ++ cat /tmp/tmp.glXhz2KW1C ++ rm /tmp/tmp.3ir5hoOath /tmp/tmp.glXhz2KW1C ++ 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.lFazAt4hqa +++ mktemp ++ local LAST_ERR=/tmp/tmp.nbjrrgkpkS ++ 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.lFazAt4hqa ++ cat /tmp/tmp.nbjrrgkpkS ++ rm /tmp/tmp.lFazAt4hqa /tmp/tmp.nbjrrgkpkS ++ 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.pm7kKyJ9Gy +++ mktemp ++ local LAST_ERR=/tmp/tmp.QJLr8Vaw7A ++ 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.pm7kKyJ9Gy ++ cat /tmp/tmp.QJLr8Vaw7A ++ rm /tmp/tmp.pm7kKyJ9Gy /tmp/tmp.QJLr8Vaw7A ++ 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.bKl5bv2HZV +++ mktemp ++ local LAST_ERR=/tmp/tmp.UgWehO7kml ++ 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.bKl5bv2HZV ++ cat /tmp/tmp.UgWehO7kml ++ rm /tmp/tmp.bKl5bv2HZV /tmp/tmp.UgWehO7kml ++ 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.RW8wFGc1XI +++ mktemp ++ local LAST_ERR=/tmp/tmp.GzitgkDQjD ++ 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.RW8wFGc1XI ++ cat /tmp/tmp.GzitgkDQjD ++ rm /tmp/tmp.RW8wFGc1XI /tmp/tmp.GzitgkDQjD ++ 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.zsb5EkAfhW +++ mktemp ++ local LAST_ERR=/tmp/tmp.PhAQ2ocrBD ++ 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.zsb5EkAfhW ++ cat /tmp/tmp.PhAQ2ocrBD ++ rm /tmp/tmp.zsb5EkAfhW /tmp/tmp.PhAQ2ocrBD ++ 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-20814 '' + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local driver=mongodb + 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:|Started a new thread for the timer service' + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' 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.CwFDrZCMdt +++ mktemp ++ local LAST_ERR=/tmp/tmp.02uxmod91W ++ 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.CwFDrZCMdt ++ cat /tmp/tmp.02uxmod91W ++ rm /tmp/tmp.CwFDrZCMdt /tmp/tmp.02uxmod91W ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ZuLjq3BtmA ++ mktemp + local LAST_ERR=/tmp/tmp.bXeOuGIjEo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZuLjq3BtmA + cat /tmp/tmp.bXeOuGIjEo + rm /tmp/tmp.ZuLjq3BtmA /tmp/tmp.bXeOuGIjEo + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.gmdwjgxzhg/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.0Ip0XFJYg9 ++ mktemp + local LAST_ERR=/tmp/tmp.XmVY9nIm9B + 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.0Ip0XFJYg9 perconaservermongodb.psmdb.percona.com "some-name" deleted from pitr-physical-backup-source-20814 namespace + cat /tmp/tmp.XmVY9nIm9B + rm /tmp/tmp.0Ip0XFJYg9 /tmp/tmp.XmVY9nIm9B + return 0 + kubectl_bin delete pvc -l app.kubernetes.io/managed-by=percona-server-mongodb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.6vN9fQzq1F ++ mktemp + local LAST_ERR=/tmp/tmp.ro243JtZYh + 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.6vN9fQzq1F persistentvolumeclaim "mongod-data-some-name-cfg-0" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-cfg-1" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-cfg-2" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs0-0" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs0-1" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs0-2" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs1-0" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs1-1" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs1-2" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs2-0" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs2-1" deleted from pitr-physical-backup-source-20814 namespace persistentvolumeclaim "mongod-data-some-name-rs2-2" deleted from pitr-physical-backup-source-20814 namespace + cat /tmp/tmp.ro243JtZYh + rm /tmp/tmp.6vN9fQzq1F /tmp/tmp.ro243JtZYh + 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-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1987-d120637a"' + 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.SbF3sc7ini ++ mktemp + local LAST_ERR=/tmp/tmp.Q4VPYTCBa7 + 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.SbF3sc7ini perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.Q4VPYTCBa7 + rm /tmp/tmp.SbF3sc7ini /tmp/tmp.Q4VPYTCBa7 + 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.rE92Czqgbz +++ mktemp ++ local LAST_ERR=/tmp/tmp.xNFDaWbN4x ++ 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.rE92Czqgbz ++ cat /tmp/tmp.xNFDaWbN4x ++ rm /tmp/tmp.rE92Czqgbz /tmp/tmp.xNFDaWbN4x ++ 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.RCxdAAHAtD +++ mktemp ++ local LAST_ERR=/tmp/tmp.jj4LLf9En1 ++ 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.RCxdAAHAtD ++ cat /tmp/tmp.jj4LLf9En1 ++ rm /tmp/tmp.RCxdAAHAtD /tmp/tmp.jj4LLf9En1 ++ 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.UQqmd8zOQO +++ mktemp ++ local LAST_ERR=/tmp/tmp.A4IyZ7QL4g ++ 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.UQqmd8zOQO ++ cat /tmp/tmp.A4IyZ7QL4g ++ rm /tmp/tmp.UQqmd8zOQO /tmp/tmp.A4IyZ7QL4g ++ 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.STaNa0pCfA +++ mktemp ++ local LAST_ERR=/tmp/tmp.2xYIkPHoiS ++ 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.STaNa0pCfA ++ cat /tmp/tmp.2xYIkPHoiS ++ rm /tmp/tmp.STaNa0pCfA /tmp/tmp.2xYIkPHoiS ++ 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.JdNKwNLzIB +++ mktemp ++ local LAST_ERR=/tmp/tmp.r6AE6MAegV ++ 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.JdNKwNLzIB ++ cat /tmp/tmp.r6AE6MAegV ++ rm /tmp/tmp.JdNKwNLzIB /tmp/tmp.r6AE6MAegV ++ 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.ThoE9waNIh +++ mktemp ++ local LAST_ERR=/tmp/tmp.CCAySnzK0y ++ 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.ThoE9waNIh ++ cat /tmp/tmp.CCAySnzK0y ++ rm /tmp/tmp.ThoE9waNIh /tmp/tmp.CCAySnzK0y ++ 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.Bkcydf73cR +++ mktemp ++ local LAST_ERR=/tmp/tmp.SFXO5AzKnj ++ 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.Bkcydf73cR ++ cat /tmp/tmp.SFXO5AzKnj ++ rm /tmp/tmp.Bkcydf73cR /tmp/tmp.SFXO5AzKnj ++ 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.3JVAQBBEJW +++ mktemp ++ local LAST_ERR=/tmp/tmp.WfZbd3cwSp ++ 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.3JVAQBBEJW ++ cat /tmp/tmp.WfZbd3cwSp ++ rm /tmp/tmp.3JVAQBBEJW /tmp/tmp.WfZbd3cwSp ++ 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.GvuzvtdZod +++ mktemp ++ local LAST_ERR=/tmp/tmp.StxBu12mDp ++ 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.GvuzvtdZod ++ cat /tmp/tmp.StxBu12mDp ++ rm /tmp/tmp.GvuzvtdZod /tmp/tmp.StxBu12mDp ++ 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.uolyhDSjTY +++ mktemp ++ local LAST_ERR=/tmp/tmp.4YGmOFke8Q ++ 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.uolyhDSjTY ++ cat /tmp/tmp.4YGmOFke8Q ++ rm /tmp/tmp.uolyhDSjTY /tmp/tmp.4YGmOFke8Q ++ 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.KfP5Mv1yVt +++ mktemp ++ local LAST_ERR=/tmp/tmp.pGcv9EfGsl ++ 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.KfP5Mv1yVt ++ cat /tmp/tmp.pGcv9EfGsl ++ rm /tmp/tmp.KfP5Mv1yVt /tmp/tmp.pGcv9EfGsl ++ 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.RWxzIwFxnZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.UGnXUYYMJ4 ++ 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.RWxzIwFxnZ ++ cat /tmp/tmp.UGnXUYYMJ4 ++ rm /tmp/tmp.RWxzIwFxnZ /tmp/tmp.UGnXUYYMJ4 ++ 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-20814 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-backup-source-20814 + 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.I7x6bB33jh +++ mktemp ++ local LAST_ERR=/tmp/tmp.DAldt288y8 ++ 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.I7x6bB33jh ++ cat /tmp/tmp.DAldt288y8 ++ rm /tmp/tmp.I7x6bB33jh /tmp/tmp.DAldt288y8 ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- 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-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.aWx9M71Tk9 ++ mktemp + local LAST_ERR=/tmp/tmp.LqdBiWe8Gs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- 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-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aWx9M71Tk9 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("c0529cbc-06e6-4920-af10-0e14c9ec2271") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.LqdBiWe8Gs + rm /tmp/tmp.aWx9M71Tk9 /tmp/tmp.LqdBiWe8Gs + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2025-09-22T16:05:51+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-20814 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.y0WNLa22CF +++ mktemp ++ local LAST_ERR=/tmp/tmp.tkGADw9JNX ++ 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.y0WNLa22CF ++ cat /tmp/tmp.tkGADw9JNX ++ rm /tmp/tmp.y0WNLa22CF /tmp/tmp.tkGADw9JNX ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.sbOL2Ji6Jh ++ mktemp + local LAST_ERR=/tmp/tmp.hWXK3PAFN1 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sbOL2Ji6Jh Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("cd9c3ebd-9432-4f2b-b6f2-bfb9883ecad9") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.hWXK3PAFN1 + rm /tmp/tmp.sbOL2Ji6Jh /tmp/tmp.hWXK3PAFN1 + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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:|Started a new thread for the timer service' + local driver=mongodb + local suffix=.svc.cluster.local + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + 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.uwluuVEc0J +++ mktemp ++ local LAST_ERR=/tmp/tmp.KelXfvXj3Y ++ 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.uwluuVEc0J ++ cat /tmp/tmp.KelXfvXj3Y ++ rm /tmp/tmp.uwluuVEc0J /tmp/tmp.KelXfvXj3Y ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.vPg1U70T35 ++ mktemp + local LAST_ERR=/tmp/tmp.8NkCzHo9Mm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vPg1U70T35 + cat /tmp/tmp.8NkCzHo9Mm + rm /tmp/tmp.vPg1U70T35 /tmp/tmp.8NkCzHo9Mm + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/compare/find.json /tmp/tmp.gmdwjgxzhg/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-09-22T16:05:56+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-20814 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.ghU3AlaemH +++ mktemp ++ local LAST_ERR=/tmp/tmp.10KtMa7OrY ++ 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.ghU3AlaemH ++ cat /tmp/tmp.10KtMa7OrY ++ rm /tmp/tmp.ghU3AlaemH /tmp/tmp.10KtMa7OrY ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.fu7f6k6Qkr ++ mktemp + local LAST_ERR=/tmp/tmp.PqDWn1Rveh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fu7f6k6Qkr Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("b9cc0ecf-4589-4940-8a56-cffcad721afd") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.PqDWn1Rveh + rm /tmp/tmp.fu7f6k6Qkr /tmp/tmp.PqDWn1Rveh + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == \t\r\u\e ]] + mongos_command=run_mongos + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' 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.C5SvnxtnVd +++ mktemp ++ local LAST_ERR=/tmp/tmp.ugzt00pzNe ++ 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.C5SvnxtnVd ++ cat /tmp/tmp.ugzt00pzNe ++ rm /tmp/tmp.C5SvnxtnVd /tmp/tmp.ugzt00pzNe ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ML2gXPFsKV ++ mktemp + local LAST_ERR=/tmp/tmp.DLY0Z5FbrN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ML2gXPFsKV + cat /tmp/tmp.DLY0Z5FbrN + rm /tmp/tmp.ML2gXPFsKV /tmp/tmp.DLY0Z5FbrN + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1987/e2e-tests/pitr-physical-backup-source/compare/find-2nd.json /tmp/tmp.gmdwjgxzhg/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-1987/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.iTl0tyrJK2 ++ mktemp + local LAST_ERR=/tmp/tmp.TpEGDe02Ab + 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.iTl0tyrJK2 perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.TpEGDe02Ab + rm /tmp/tmp.iTl0tyrJK2 /tmp/tmp.TpEGDe02Ab + 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.2MWABrZXSy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.k1y6Nzlzm4 +++ 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.2MWABrZXSy +++ cat /tmp/tmp.k1y6Nzlzm4 +++ rm /tmp/tmp.2MWABrZXSy /tmp/tmp.k1y6Nzlzm4 +++ return 0 ++ first_timestamp=1758556031 ++ sleep 5 ++ [[ 1758556031 != '' ]] ++ [[ 1758556031 != \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.7xTQA9gjYu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.QZnjtcFOKj +++ 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.7xTQA9gjYu +++ cat /tmp/tmp.QZnjtcFOKj +++ rm /tmp/tmp.7xTQA9gjYu /tmp/tmp.QZnjtcFOKj +++ return 0 ++ second_timestamp=1758556031 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1758556031 != '' ]] ++ [[ 1758556031 != \n\u\l\l ]] ++ [[ 1758556031 == 1758556031 ]] ++ /usr/sbin/date -u -d @1758556031 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2025-09-22T15:47:11Z ++ 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.E8YnQ9YsvU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.QvqyoHSo0k +++ 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.E8YnQ9YsvU +++ cat /tmp/tmp.QvqyoHSo0k +++ rm /tmp/tmp.E8YnQ9YsvU /tmp/tmp.QvqyoHSo0k +++ return 0 ++ latestRestorableTime=2025-09-22T15:47:11Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2025-09-22T15:47:11Z != '' ]] ++ [[ 2025-09-22T15:47:11Z != \n\u\l\l ]] ++ echo 2025-09-22T15:47:11Z + backup_time=2025-09-22T15:47:11Z + [[ 2025-09-22T15:47:11Z != \2\0\2\5\-\0\9\-\2\2\T\1\5\:\4\7\:\1\1\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.z1NTOrO0cn ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IRYuZLmzLH +++ 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.z1NTOrO0cn +++ cat /tmp/tmp.IRYuZLmzLH +++ rm /tmp/tmp.z1NTOrO0cn /tmp/tmp.IRYuZLmzLH +++ return 0 ++ echo 1758556031 + local latest_ts=1758556031 + 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-20814 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814 + 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.VKT4ZpTTwT +++ mktemp ++ local LAST_ERR=/tmp/tmp.iOPrZH8VaN ++ 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.VKT4ZpTTwT ++ cat /tmp/tmp.iOPrZH8VaN ++ rm /tmp/tmp.VKT4ZpTTwT /tmp/tmp.iOPrZH8VaN ++ return 0 + local client_container=psmdb-client-66f577db5f-86cxx + kubectl_bin exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.yZkF1wZy4E ++ mktemp + local LAST_ERR=/tmp/tmp.CaEvERggQy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-66f577db5f-86cxx -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yZkF1wZy4E Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-backup-source-20814.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("af75f9ed-f16f-48b3-b329-52827ad6a96a") } Percona Server for MongoDB server version: v7.0.24-13 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.CaEvERggQy + rm /tmp/tmp.yZkF1wZy4E /tmp/tmp.CaEvERggQy + 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.exczZTDV4j ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UZv6xW8yUE +++ 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.exczZTDV4j +++ cat /tmp/tmp.UZv6xW8yUE +++ rm /tmp/tmp.exczZTDV4j /tmp/tmp.UZv6xW8yUE +++ return 0 ++ echo 1758556031 + local current_ts=1758556031 + retries=0 + [[ 1758556031 -gt 1758556031 ]] + [[ 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.UXf1gdtMDs ++++ mktemp +++ local LAST_ERR=/tmp/tmp.onpGKSxD2v +++ 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.UXf1gdtMDs +++ cat /tmp/tmp.onpGKSxD2v +++ rm /tmp/tmp.UXf1gdtMDs /tmp/tmp.onpGKSxD2v +++ return 0 ++ echo 1758556031 + latest_ts=1758556031 + retries=1 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 + echo 'Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11)' Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11) + sleep 10 + [[ 1758556031 -gt 1758556031 ]] + [[ 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.vIl7kLvlyI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.uXwfiiMK2P +++ 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.vIl7kLvlyI +++ cat /tmp/tmp.uXwfiiMK2P +++ rm /tmp/tmp.vIl7kLvlyI /tmp/tmp.uXwfiiMK2P +++ return 0 ++ echo 1758556031 + latest_ts=1758556031 + retries=2 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 + echo 'Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11)' Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11) + sleep 10 + [[ 1758556031 -gt 1758556031 ]] + [[ 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.Wg0stf2qQV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VRAHTz5VHy +++ 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.Wg0stf2qQV +++ cat /tmp/tmp.VRAHTz5VHy +++ rm /tmp/tmp.Wg0stf2qQV /tmp/tmp.VRAHTz5VHy +++ return 0 ++ echo 1758556031 + latest_ts=1758556031 + retries=3 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 ++ format_date 1758556031 ++ local timestamp=1758556031 +++ TZ=UTC +++ /usr/sbin/date -d@1758556031 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-09-22 15:47:11 + echo 'Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11)' Waiting for last oplog chunk (2025-09-22 15:47:11) to be 120 seconds older than starting chunk (2025-09-22 15:47:11) + sleep 10 + [[ 1758556031 -gt 1758556031 ]] + [[ 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.LxduRb5NGp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.g5aSbVfZwA +++ 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