Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/logs/pitr-physical.log WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-25891 + local ns=pitr-physical-25891 + [[ 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-1917/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.ZofaYbKryB ++ mktemp + local LAST_ERR=/tmp/tmp.OmxWtfH9nH + 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-1917/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZofaYbKryB 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.OmxWtfH9nH + rm /tmp/tmp.ZofaYbKryB /tmp/tmp.OmxWtfH9nH + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/deploy/crd.yaml ++ grep -v '\-\-\-' + 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 + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + grep -v NAMESPACE 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.msDVUSWcQw ++ mktemp + local LAST_ERR=/tmp/tmp.3KB5GtquNs + 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.msDVUSWcQw + cat /tmp/tmp.3KB5GtquNs + rm /tmp/tmp.msDVUSWcQw /tmp/tmp.3KB5GtquNs + 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.jvFtlf5QjH ++ mktemp + local LAST_ERR=/tmp/tmp.hjkxJY2qYU + 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.jvFtlf5QjH + cat /tmp/tmp.hjkxJY2qYU + rm /tmp/tmp.jvFtlf5QjH /tmp/tmp.hjkxJY2qYU + 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\":[]}}"' No resources found + 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.YQo5afDIEX ++ mktemp + local LAST_ERR=/tmp/tmp.EyKkOeu5c3 + 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.YQo5afDIEX + cat /tmp/tmp.EyKkOeu5c3 + rm /tmp/tmp.YQo5afDIEX /tmp/tmp.EyKkOeu5c3 + 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-1917/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.XC64uiRQTm ++ mktemp + local LAST_ERR=/tmp/tmp.xHCWwZH93c + 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-1917/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XC64uiRQTm 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.xHCWwZH93c + rm /tmp/tmp.XC64uiRQTm /tmp/tmp.xHCWwZH93c + return 0 + check_crd_for_deletion PR-1917-49886fe8 + local git_tag=PR-1917-49886fe8 ++ yq eval .metadata.name ++ /usr/bin/sed ':a;N;$!ba;s/\n/ /g' ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1917-49886fe8/deploy/crd.yaml ++ /usr/bin/sed s/---//g + for crd_name in '$(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '\''.metadata.name'\'' | $sed '\''s/---//g'\'' | $sed '\'':a;N;$!ba;s/\n/ /g'\'')' ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NRZdOLscLl +++ mktemp ++ local LAST_ERR=/tmp/tmp.JS66NloFIZ ++ 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.NRZdOLscLl ++ cat /tmp/tmp.JS66NloFIZ 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.NRZdOLscLl ++ cat /tmp/tmp.JS66NloFIZ 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.NRZdOLscLl ++ cat /tmp/tmp.JS66NloFIZ Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.NRZdOLscLl ++ cat /tmp/tmp.JS66NloFIZ Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.NRZdOLscLl /tmp/tmp.JS66NloFIZ ++ 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 ++ tail -n1 ++ helm list --all-namespaces --filter chaos-mesh ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ grep chaos-mesh ++ kubectl get MutatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ kubectl get ValidatingWebhookConfiguration ++ 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 ++ awk '{print $1}' ++ grep chaos-mesh + 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 ----------------------------------------------------------------------------------- + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- + xargs kubectl delete ns cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + kubectl_bin get ns ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.o9xCE88Ugj + local LAST_OUT=/tmp/tmp.rBeHFnbXgb ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.u1u3Za77ja + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.NOfOz4EU6W + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rBeHFnbXgb + cat /tmp/tmp.NOfOz4EU6W + rm /tmp/tmp.rBeHFnbXgb /tmp/tmp.NOfOz4EU6W + return 0 namespace "pitr-physical-10525" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.o9xCE88Ugj namespace "psmdb-operator" deleted + cat /tmp/tmp.u1u3Za77ja + rm /tmp/tmp.o9xCE88Ugj /tmp/tmp.u1u3Za77ja + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.bLkCoWwfX4 ++ mktemp + local LAST_ERR=/tmp/tmp.w0uJJjArfi + 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.bLkCoWwfX4 + cat /tmp/tmp.w0uJJjArfi + rm /tmp/tmp.bLkCoWwfX4 /tmp/tmp.w0uJJjArfi + 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.tmrOgAcqpP ++ mktemp + local LAST_ERR=/tmp/tmp.gj25NoNBxR + 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.tmrOgAcqpP namespace/psmdb-operator created + cat /tmp/tmp.gj25NoNBxR + rm /tmp/tmp.tmrOgAcqpP /tmp/tmp.gj25NoNBxR + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.iGRQxckg8N +++ mktemp ++ local LAST_ERR=/tmp/tmp.uzy9RBaZMU ++ 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.iGRQxckg8N ++ cat /tmp/tmp.uzy9RBaZMU ++ rm /tmp/tmp.iGRQxckg8N /tmp/tmp.uzy9RBaZMU ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1917-49886fe8-34-cluster5 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.25sAJNaCQ5 ++ mktemp + local LAST_ERR=/tmp/tmp.ZAoaTZJ5nD + 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-1917-49886fe8-34-cluster5 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.25sAJNaCQ5 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1917-49886fe8-34-cluster5" modified. + cat /tmp/tmp.ZAoaTZJ5nD + rm /tmp/tmp.25sAJNaCQ5 /tmp/tmp.ZAoaTZJ5nD + 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-1917/e2e-tests/pitr-physical/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.TzzGSLb1jr ++ mktemp + local LAST_ERR=/tmp/tmp.ZV7vot6NrI + 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-1917/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TzzGSLb1jr 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.ZV7vot6NrI + rm /tmp/tmp.TzzGSLb1jr /tmp/tmp.ZV7vot6NrI + 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-1917/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.eaUw5WByrn ++ mktemp + local LAST_ERR=/tmp/tmp.xYloune1jW + 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.eaUw5WByrn 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.xYloune1jW + rm /tmp/tmp.eaUw5WByrn /tmp/tmp.xYloune1jW + return 0 + kubectl_bin apply -f - + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1917-49886fe8") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/deploy/cw-operator.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.kwwR3DFCCP ++ mktemp + local LAST_ERR=/tmp/tmp.lyVzau0Nrp + 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.kwwR3DFCCP deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.lyVzau0Nrp + rm /tmp/tmp.kwwR3DFCCP /tmp/tmp.lyVzau0Nrp + 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.0Ayu4E4WO4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.wBfa0e2cmj ++ 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.0Ayu4E4WO4 ++ cat /tmp/tmp.wBfa0e2cmj ++ rm /tmp/tmp.0Ayu4E4WO4 /tmp/tmp.wBfa0e2cmj ++ return 0 + wait_pod percona-server-mongodb-operator-6c85b65dc6-5sxt4 + local pod=percona-server-mongodb-operator-6c85b65dc6-5sxt4 + set +o xtrace waiting for pod/percona-server-mongodb-operator-6c85b65dc6-5sxt4 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.LL27hNDy2z +++ mktemp ++ local LAST_ERR=/tmp/tmp.xS0YTLaWZ5 ++ 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.LL27hNDy2z ++ cat /tmp/tmp.xS0YTLaWZ5 ++ rm /tmp/tmp.LL27hNDy2z /tmp/tmp.xS0YTLaWZ5 ++ return 0 + kubectl_bin logs percona-server-mongodb-operator-6c85b65dc6-5sxt4 ++ mktemp + local LAST_OUT=/tmp/tmp.T5QRYFiQgi ++ mktemp + local LAST_ERR=/tmp/tmp.fOiLj2Bv5P + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl logs percona-server-mongodb-operator-6c85b65dc6-5sxt4 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.T5QRYFiQgi + cat /tmp/tmp.fOiLj2Bv5P + rm /tmp/tmp.T5QRYFiQgi /tmp/tmp.fOiLj2Bv5P + return 0 2025-07-24T16:14:46.247Z INFO setup Manager starting up {"gitCommit": "49886fe81f62a11666f8be1ac0763480b86efa3d", "gitBranch": "PR-1917-49886fe8", "buildTime": "", "goVersion": "go1.24.5", "os": "linux", "arch": "amd64"} + create_namespace pitr-physical-25891 + local namespace=pitr-physical-25891 + 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 + : ++ grep chaos-mesh ++ kubectl api-resources ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -n '' ']' + desc 'cleaned up old namespaces pitr-physical-25891' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-25891 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-25891 --ignore-not-found + awk '{print$1}' ++ mktemp + local LAST_OUT=/tmp/tmp.Es8icHMzFK ++ mktemp + local LAST_ERR=/tmp/tmp.0hidqgqZbn + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ mktemp + for i in '$(seq 0 2)' + set +e + kubectl delete namespace pitr-physical-25891 --ignore-not-found + local LAST_OUT=/tmp/tmp.fb0ayRhLcE ++ mktemp + local LAST_ERR=/tmp/tmp.EgIsw2w9gU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fb0ayRhLcE + cat /tmp/tmp.EgIsw2w9gU + rm /tmp/tmp.fb0ayRhLcE /tmp/tmp.EgIsw2w9gU + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Es8icHMzFK error: resource(s) were provided, but no name was specified + cat /tmp/tmp.0hidqgqZbn + rm /tmp/tmp.Es8icHMzFK /tmp/tmp.0hidqgqZbn + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-25891 ++ mktemp + local LAST_OUT=/tmp/tmp.U3JyOV6vaY ++ mktemp + local LAST_ERR=/tmp/tmp.803VWdiXax + 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-25891 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.U3JyOV6vaY + cat /tmp/tmp.803VWdiXax + rm /tmp/tmp.U3JyOV6vaY /tmp/tmp.803VWdiXax + return 0 + desc 'create namespace pitr-physical-25891' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-25891 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-25891 ++ mktemp + local LAST_OUT=/tmp/tmp.addG0JDl4S ++ mktemp + local LAST_ERR=/tmp/tmp.T1EP76AI7d + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace pitr-physical-25891 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.addG0JDl4S namespace/pitr-physical-25891 created + cat /tmp/tmp.T1EP76AI7d + rm /tmp/tmp.addG0JDl4S /tmp/tmp.T1EP76AI7d + return 0 + set_kube_ctx pitr-physical-25891 + local namespace=pitr-physical-25891 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.fdju6dPWV3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.cVUUzNSaSv ++ 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.fdju6dPWV3 ++ cat /tmp/tmp.cVUUzNSaSv ++ rm /tmp/tmp.fdju6dPWV3 /tmp/tmp.cVUUzNSaSv ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1917-49886fe8-34-cluster5 --namespace=pitr-physical-25891 ++ mktemp + local LAST_OUT=/tmp/tmp.QvRwuTMLLW ++ mktemp + local LAST_ERR=/tmp/tmp.uXWbF6NnHO + 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-1917-49886fe8-34-cluster5 --namespace=pitr-physical-25891 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QvRwuTMLLW Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1917-49886fe8-34-cluster5" modified. + cat /tmp/tmp.uXWbF6NnHO + rm /tmp/tmp.QvRwuTMLLW /tmp/tmp.uXWbF6NnHO + return 0 + deploy_minio + desc 'install Minio' + set +o xtrace ----------------------------------------------------------------------------------- install Minio ----------------------------------------------------------------------------------- + helm uninstall minio-service Error: uninstall: Release not loaded: minio-service: release: not found + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio NAME: minio-service LAST DEPLOYED: Thu Jul 24 16:15:02 2025 NAMESPACE: pitr-physical-25891 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-25891.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-25891 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-25891 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-25891 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-25891 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.0okvqJDn1n +++ mktemp ++ local LAST_ERR=/tmp/tmp.cfgKZyrOtR ++ 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.0okvqJDn1n ++ cat /tmp/tmp.cfgKZyrOtR ++ rm /tmp/tmp.0okvqJDn1n /tmp/tmp.cfgKZyrOtR ++ return 0 + MINIO_POD=minio-service-86dfccd949-9rbbn + wait_pod minio-service-86dfccd949-9rbbn + local pod=minio-service-86dfccd949-9rbbn + set +o xtrace waiting for pod/minio-service-86dfccd949-9rbbn to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-physical-25891.svc.cluster.local --tcp=9000 ++ mktemp + local LAST_OUT=/tmp/tmp.bUssvtjzEx ++ mktemp + local LAST_ERR=/tmp/tmp.kcdZ8q2aBL + 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-25891.svc.cluster.local --tcp=9000 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bUssvtjzEx service/minio-service created + cat /tmp/tmp.kcdZ8q2aBL + rm /tmp/tmp.bUssvtjzEx /tmp/tmp.kcdZ8q2aBL + 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.Dxtq0ynyw6 ++ mktemp + local LAST_ERR=/tmp/tmp.sdcrAI0dcl + 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.Dxtq0ynyw6 make_bucket: operator-testing pod "aws-cli" deleted + cat /tmp/tmp.sdcrAI0dcl + rm /tmp/tmp.Dxtq0ynyw6 /tmp/tmp.sdcrAI0dcl + 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-1917/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.WOiUMp5YNn ++ mktemp + local LAST_ERR=/tmp/tmp.40XF0rDJ5H + 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-1917/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WOiUMp5YNn secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.40XF0rDJ5H + rm /tmp/tmp.WOiUMp5YNn /tmp/tmp.40XF0rDJ5H + 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-1917/e2e-tests/pitr-physical/conf/some-name-rs0.yml + '[' -z '' ']' + kubectl_bin apply -f - + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/conf/some-name-rs0.yml ++ mktemp + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/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("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1917-49886fe8"' + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.uakxgrAN6x ++ mktemp + local LAST_ERR=/tmp/tmp.36Rw2woYWS + 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.uakxgrAN6x perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.36Rw2woYWS + rm /tmp/tmp.uakxgrAN6x /tmp/tmp.36Rw2woYWS + 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.b6xia7oePA +++ mktemp ++ local LAST_ERR=/tmp/tmp.IfQR3BZini ++ 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.b6xia7oePA ++ cat /tmp/tmp.IfQR3BZini ++ rm /tmp/tmp.b6xia7oePA /tmp/tmp.IfQR3BZini ++ 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.m2MPt3cw7V +++ mktemp ++ local LAST_ERR=/tmp/tmp.cawtFDeO8U ++ 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.m2MPt3cw7V ++ cat /tmp/tmp.cawtFDeO8U ++ rm /tmp/tmp.m2MPt3cw7V /tmp/tmp.cawtFDeO8U ++ 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.ejzljUM1Vv +++ mktemp ++ local LAST_ERR=/tmp/tmp.EuXPcSr1kK ++ 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.ejzljUM1Vv ++ cat /tmp/tmp.EuXPcSr1kK ++ rm /tmp/tmp.ejzljUM1Vv /tmp/tmp.EuXPcSr1kK ++ 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.W6ete5Et8V +++ mktemp ++ local LAST_ERR=/tmp/tmp.oedTJySOVD ++ 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.W6ete5Et8V ++ cat /tmp/tmp.oedTJySOVD ++ rm /tmp/tmp.W6ete5Et8V /tmp/tmp.oedTJySOVD ++ 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.TXgFxVpdGW +++ mktemp ++ local LAST_ERR=/tmp/tmp.e6Qdev1V0Q ++ 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.TXgFxVpdGW ++ cat /tmp/tmp.e6Qdev1V0Q ++ rm /tmp/tmp.TXgFxVpdGW /tmp/tmp.e6Qdev1V0Q ++ 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.8xBNB1Ap6o +++ mktemp ++ local LAST_ERR=/tmp/tmp.m0FkDd87AS ++ 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.8xBNB1Ap6o ++ cat /tmp/tmp.m0FkDd87AS ++ rm /tmp/tmp.8xBNB1Ap6o /tmp/tmp.m0FkDd87AS ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + sleep 10 + desc 'write data' + set +o xtrace ----------------------------------------------------------------------------------- write data ----------------------------------------------------------------------------------- + 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-25891 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-25891 + 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.wgTTzEEH8v +++ mktemp ++ local LAST_ERR=/tmp/tmp.cN7bX9OoFd ++ 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.wgTTzEEH8v ++ cat /tmp/tmp.cN7bX9OoFd ++ rm /tmp/tmp.wgTTzEEH8v /tmp/tmp.cN7bX9OoFd ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.5qgqpsHnoH ++ mktemp + local LAST_ERR=/tmp/tmp.4J7suJjMhs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5qgqpsHnoH Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("86bd712a-32a4-40f1-8341-d52a4a1471bf") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.4J7suJjMhs + rm /tmp/tmp.5qgqpsHnoH /tmp/tmp.4J7suJjMhs + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2025-07-24T16:19:42+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-25891 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + 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.2v3KgVHAuw +++ mktemp ++ local LAST_ERR=/tmp/tmp.xmEjZtzPFd ++ 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.2v3KgVHAuw ++ cat /tmp/tmp.xmEjZtzPFd ++ rm /tmp/tmp.2v3KgVHAuw /tmp/tmp.xmEjZtzPFd ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.DBJQ2tA8EQ ++ mktemp + local LAST_ERR=/tmp/tmp.7RlZWqg4oU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DBJQ2tA8EQ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("4f47307e-dee3-48b0-9b14-83b4bb1298a4") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.7RlZWqg4oU + rm /tmp/tmp.DBJQ2tA8EQ /tmp/tmp.7RlZWqg4oU + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-25891 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-25891 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QGjYi9nGhs +++ mktemp ++ local LAST_ERR=/tmp/tmp.JVkqCHrwvW ++ 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.QGjYi9nGhs ++ cat /tmp/tmp.JVkqCHrwvW ++ rm /tmp/tmp.QGjYi9nGhs /tmp/tmp.JVkqCHrwvW ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.msYax7R4zp ++ mktemp + local LAST_ERR=/tmp/tmp.zI7uDUZiCp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.msYax7R4zp + cat /tmp/tmp.zI7uDUZiCp + rm /tmp/tmp.msYax7R4zp /tmp/tmp.zI7uDUZiCp + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/compare/find.json /tmp/tmp.BDsORzEeUg/find + desc 'wait for pbm agents to start' + set +o xtrace ----------------------------------------------------------------------------------- wait for pbm agents to start ----------------------------------------------------------------------------------- + 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-07-24T16:19:16.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-07-24T16:19:17.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-07-24T16:19:19.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-07-24T16:19:18.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-07-24T16:19:18.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-07-24T16:19:19.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-07-24T16:19:22.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-07-24T16:19:19.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-07-24T16:19:20.000+0000 I listening for the commands + log 'Sleeping for 360 seconds to avoid PBM-1265' + set +o xtrace [2025-07-24T16:19:54+0000] Sleeping for 360 seconds to avoid PBM-1265 + sleep 360 + backup_name_minio=backup-minio + 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 ----------------------------------------------------------------------------------- + /usr/bin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - + /usr/bin/sed -e 's/name:/name: backup-minio-2/' ++ mktemp + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/conf/backup-minio.yml + local LAST_OUT=/tmp/tmp.xYDXRSAoja ++ mktemp + local LAST_ERR=/tmp/tmp.W9MH69WPOy + 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.xYDXRSAoja perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.W9MH69WPOy + rm /tmp/tmp.xYDXRSAoja /tmp/tmp.W9MH69WPOy + 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......... + sleep 5 + write_document -2nd 130 + local cmp_postfix=-2nd + local sleep_value=130 + log 'write initial data, read from all' + set +o xtrace [2025-07-24T16:26:17+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-25891 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + 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.u4flqkznJx +++ mktemp ++ local LAST_ERR=/tmp/tmp.BlPed7GCir ++ 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.u4flqkznJx ++ cat /tmp/tmp.BlPed7GCir ++ rm /tmp/tmp.u4flqkznJx /tmp/tmp.BlPed7GCir ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.wQvyu3eh1U ++ mktemp + local LAST_ERR=/tmp/tmp.17qp2hESZw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wQvyu3eh1U Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9dc9beb5-a47c-46e0-a3b8-a7a220c3fbda") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.17qp2hESZw + rm /tmp/tmp.wQvyu3eh1U /tmp/tmp.17qp2hESZw + return 0 + sleep 130 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-25891 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-25891 mongodb '' '' 27017 + egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local driver=mongodb + local suffix=.svc.cluster.local + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.tS5dhMbw8C +++ mktemp ++ local LAST_ERR=/tmp/tmp.CbgksKMmB7 ++ 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.tS5dhMbw8C ++ cat /tmp/tmp.CbgksKMmB7 ++ rm /tmp/tmp.tS5dhMbw8C /tmp/tmp.CbgksKMmB7 ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.cy33XdK6Xq ++ mktemp + local LAST_ERR=/tmp/tmp.ERm3ObJkTP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cy33XdK6Xq + cat /tmp/tmp.ERm3ObJkTP + rm /tmp/tmp.cy33XdK6Xq /tmp/tmp.ERm3ObJkTP + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/compare/find-2nd.json /tmp/tmp.BDsORzEeUg/find-2nd ++ date +%s + last_write=1753374512 ++ 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.axiMVD2tZU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.GVxWr6PQRC +++ 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.axiMVD2tZU +++ cat /tmp/tmp.GVxWr6PQRC +++ rm /tmp/tmp.axiMVD2tZU /tmp/tmp.GVxWr6PQRC +++ return 0 ++ echo 1753374412 + last_chunk=1753374412 + log 'last write: 1753374512' + set +o xtrace [2025-07-24T16:28:33+0000] last write: 1753374512 + log 'last chunk: 1753374412' + set +o xtrace [2025-07-24T16:28:33+0000] last chunk: 1753374412 + retries=0 + [[ 1753374412 -gt 1753374512 ]] + [[ 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.t8ur36yKYe ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NzF485USwX +++ 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.t8ur36yKYe +++ cat /tmp/tmp.NzF485USwX +++ rm /tmp/tmp.t8ur36yKYe /tmp/tmp.NzF485USwX +++ return 0 ++ echo 1753374412 + last_chunk=1753374412 + retries=1 ++ format_date 1753374412 ++ local timestamp=1753374412 +++ TZ=UTC +++ /usr/bin/date -d@1753374412 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:52 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:28:35+0000] Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374412 -gt 1753374512 ]] + [[ 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.AAOMpDzzhA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Su3nsAqmPe +++ 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.AAOMpDzzhA +++ cat /tmp/tmp.Su3nsAqmPe +++ rm /tmp/tmp.AAOMpDzzhA /tmp/tmp.Su3nsAqmPe +++ return 0 ++ echo 1753374412 + last_chunk=1753374412 + retries=2 ++ format_date 1753374412 ++ local timestamp=1753374412 +++ TZ=UTC +++ /usr/bin/date -d@1753374412 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:52 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:28:47+0000] Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374412 -gt 1753374512 ]] + [[ 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.49WflySURY ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mRz3SrWOcp +++ 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.49WflySURY +++ cat /tmp/tmp.mRz3SrWOcp +++ rm /tmp/tmp.49WflySURY /tmp/tmp.mRz3SrWOcp +++ return 0 ++ echo 1753374412 + last_chunk=1753374412 + retries=3 ++ format_date 1753374412 ++ local timestamp=1753374412 +++ TZ=UTC +++ /usr/bin/date -d@1753374412 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:52 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:29:00+0000] Waiting for last oplog chunk (2025-07-24 16:26:52) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374412 -gt 1753374512 ]] + [[ 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.Hc5bFyMPuV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jPkZw3ZUss +++ 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=1 +++ set -e +++ '[' 1 '!=' 0 -a -n 1 ']' +++ cat /tmp/tmp.Hc5bFyMPuV +++ cat /tmp/tmp.jPkZw3ZUss command terminated with exit code 1 +++ sleep 0 +++ 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.Hc5bFyMPuV +++ cat /tmp/tmp.jPkZw3ZUss +++ rm /tmp/tmp.Hc5bFyMPuV /tmp/tmp.jPkZw3ZUss +++ return 0 ++ echo null 1753374415 + last_chunk='null 1753374415' + retries=4 ++ format_date null 1753374415 ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk () to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:30:33+0000] Waiting for last oplog chunk () to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ null 1753374415 -gt 1753374512 ]] ./e2e-tests/pitr-physical/run: line 76: [[: null 1753374415: syntax error in expression (error token is "1753374415") + [[ 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.NSlhc9AjlA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.R9HZOMJyvE +++ 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.NSlhc9AjlA +++ cat /tmp/tmp.R9HZOMJyvE +++ rm /tmp/tmp.NSlhc9AjlA /tmp/tmp.R9HZOMJyvE +++ return 0 ++ echo 1753374415 + last_chunk=1753374415 + retries=5 ++ format_date 1753374415 ++ local timestamp=1753374415 +++ TZ=UTC +++ /usr/bin/date -d@1753374415 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:55 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:30:45+0000] Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374415 -gt 1753374512 ]] + [[ 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.SWtckSjcuW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.FhlU4ARFTi +++ 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.SWtckSjcuW +++ cat /tmp/tmp.FhlU4ARFTi +++ rm /tmp/tmp.SWtckSjcuW /tmp/tmp.FhlU4ARFTi +++ return 0 ++ echo 1753374415 + last_chunk=1753374415 + retries=6 ++ format_date 1753374415 ++ local timestamp=1753374415 +++ TZ=UTC +++ /usr/bin/date -d@1753374415 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:55 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:30:57+0000] Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374415 -gt 1753374512 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.A6EwvUQu71 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NDC14sOuGL +++ 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.A6EwvUQu71 +++ cat /tmp/tmp.NDC14sOuGL +++ rm /tmp/tmp.A6EwvUQu71 /tmp/tmp.NDC14sOuGL +++ return 0 ++ echo 1753374415 + last_chunk=1753374415 + retries=7 ++ format_date 1753374415 ++ local timestamp=1753374415 +++ TZ=UTC +++ /usr/bin/date -d@1753374415 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:55 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:31:08+0000] Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374415 -gt 1753374512 ]] + [[ 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.s35SSF3dhM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.xQ4fk9cTIP +++ 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.s35SSF3dhM +++ cat /tmp/tmp.xQ4fk9cTIP +++ rm /tmp/tmp.s35SSF3dhM /tmp/tmp.xQ4fk9cTIP +++ return 0 ++ echo 1753374415 + last_chunk=1753374415 + retries=8 ++ format_date 1753374415 ++ local timestamp=1753374415 +++ TZ=UTC +++ /usr/bin/date -d@1753374415 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:55 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:31:20+0000] Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374415 -gt 1753374512 ]] + [[ 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.MhbGVOkmMp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Dbz3nkDp8T +++ 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.MhbGVOkmMp +++ cat /tmp/tmp.Dbz3nkDp8T +++ rm /tmp/tmp.MhbGVOkmMp /tmp/tmp.Dbz3nkDp8T +++ return 0 ++ echo 1753374415 + last_chunk=1753374415 + retries=9 ++ format_date 1753374415 ++ local timestamp=1753374415 +++ TZ=UTC +++ /usr/bin/date -d@1753374415 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:26:55 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:31:32+0000] Waiting for last oplog chunk (2025-07-24 16:26:55) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374415 -gt 1753374512 ]] + [[ 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.bDkM3eZG8i ++++ mktemp +++ local LAST_ERR=/tmp/tmp.pYxST1jmH1 +++ 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.bDkM3eZG8i +++ cat /tmp/tmp.pYxST1jmH1 +++ rm /tmp/tmp.bDkM3eZG8i /tmp/tmp.pYxST1jmH1 +++ return 0 ++ echo 1753374682 + last_chunk=1753374682 + retries=10 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374512 ++ local timestamp=1753374512 +++ TZ=UTC +++ /usr/bin/date -d@1753374512 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:28:32 + log 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than last write (2025-07-24 16:28:32)' + set +o xtrace [2025-07-24T16:31:44+0000] Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than last write (2025-07-24 16:28:32) + sleep 10 + [[ 1753374682 -gt 1753374512 ]] + sleep 10 + check_recovery backup-minio-2 date 1753374682 -2nd some-name + local backup_name=backup-minio-2 + local restore_type=date + local restore_date=1753374682 + local cmp_postfix=-2nd + local cluster_name=some-name + local 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.QNEMunVgJu ++++ mktemp +++ local LAST_ERR=/tmp/tmp.2j0xKIiHzu +++ 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.QNEMunVgJu +++ cat /tmp/tmp.2j0xKIiHzu +++ rm /tmp/tmp.QNEMunVgJu /tmp/tmp.2j0xKIiHzu +++ return 0 ++ echo 1753374682 + local latest_ts=1753374682 + 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-25891 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + 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.lifeIkxys2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.u8uhVs80te ++ 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.lifeIkxys2 ++ cat /tmp/tmp.u8uhVs80te ++ rm /tmp/tmp.lifeIkxys2 /tmp/tmp.u8uhVs80te ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.0WqEwrIFjR ++ mktemp + local LAST_ERR=/tmp/tmp.56y1Uo7Tcr + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0WqEwrIFjR Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("ca48cc2a-684c-43e7-8b6e-f3606afd9f96") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.56y1Uo7Tcr + rm /tmp/tmp.0WqEwrIFjR /tmp/tmp.56y1Uo7Tcr + return 0 + [[ -n 1753374682 ]] ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + desc 'Restoring to time 2025-07-24 16:31:22' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2025-07-24 16:31:22 ----------------------------------------------------------------------------------- + retries=0 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.84KMmxD8Xb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3KCu8tPKmt +++ 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.84KMmxD8Xb +++ cat /tmp/tmp.3KCu8tPKmt +++ rm /tmp/tmp.84KMmxD8Xb /tmp/tmp.3KCu8tPKmt +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=1 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.dlHj7yVIlA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4lrBrzidH4 +++ 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.dlHj7yVIlA +++ cat /tmp/tmp.4lrBrzidH4 +++ rm /tmp/tmp.dlHj7yVIlA /tmp/tmp.4lrBrzidH4 +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=2 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.FdoA5WBNEX ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hcGCk3kf8y +++ 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.FdoA5WBNEX +++ cat /tmp/tmp.hcGCk3kf8y +++ rm /tmp/tmp.FdoA5WBNEX /tmp/tmp.hcGCk3kf8y +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=3 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.vanUyePJJv ++++ mktemp +++ local LAST_ERR=/tmp/tmp.PrOonZvPQf +++ 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.vanUyePJJv +++ cat /tmp/tmp.PrOonZvPQf +++ rm /tmp/tmp.vanUyePJJv /tmp/tmp.PrOonZvPQf +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=4 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.EnXCh8Tw52 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IHh0FBT0XF +++ 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.EnXCh8Tw52 +++ cat /tmp/tmp.IHh0FBT0XF +++ rm /tmp/tmp.EnXCh8Tw52 /tmp/tmp.IHh0FBT0XF +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=5 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.ef5LF7Mnqr ++++ mktemp +++ local LAST_ERR=/tmp/tmp.OofmYVQy5Q +++ 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.ef5LF7Mnqr +++ cat /tmp/tmp.OofmYVQy5Q +++ rm /tmp/tmp.ef5LF7Mnqr /tmp/tmp.OofmYVQy5Q +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=6 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.fX4Wx4wZLm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.m1a0u1tZDf +++ 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.fX4Wx4wZLm +++ cat /tmp/tmp.m1a0u1tZDf +++ rm /tmp/tmp.fX4Wx4wZLm /tmp/tmp.m1a0u1tZDf +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=7 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pyRD1MPkmm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.b1wqNvcY9j +++ 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.pyRD1MPkmm +++ cat /tmp/tmp.b1wqNvcY9j +++ rm /tmp/tmp.pyRD1MPkmm /tmp/tmp.b1wqNvcY9j +++ return 0 ++ echo 1753374682 + latest_ts=1753374682 + retries=8 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:31:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374682 -gt 1753374682 ]] + [[ 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.u1Kr2o8VG5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.GgL8OpX3qW +++ 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.u1Kr2o8VG5 +++ cat /tmp/tmp.GgL8OpX3qW +++ rm /tmp/tmp.u1Kr2o8VG5 /tmp/tmp.GgL8OpX3qW +++ return 0 ++ echo 1753374802 + latest_ts=1753374802 + retries=9 ++ format_date 1753374802 ++ local timestamp=1753374802 +++ TZ=UTC +++ /usr/bin/date -d@1753374802 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:22 ++ format_date 1753374682 ++ local timestamp=1753374682 +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:31:22 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:22) to be greater than restore target (2025-07-24 16:31:22)' Waiting for last oplog chunk (2025-07-24 16:33:22) to be greater than restore target (2025-07-24 16:31:22) + sleep 10 + [[ 1753374802 -gt 1753374682 ]] + '[' -z '' ']' + desc 'check restore by date' + set +o xtrace ----------------------------------------------------------------------------------- check restore by date ----------------------------------------------------------------------------------- + /usr/bin/sed -e 's/name:/name: restore-backup-minio-2/' + /usr/bin/sed -e 's/backupName:/backupName: backup-minio-2/' + /usr/bin/sed -e /backupSource/,+8d + /usr/bin/sed -e 's/pitrType:/type: date/' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/conf/restore.yml + '[' -z 1753374682 ']' + kubectl_bin apply -f - ++ format_date 1753374682 ++ local timestamp=1753374682 ++ mktemp +++ TZ=UTC +++ /usr/bin/date -d@1753374682 '+%Y-%m-%d %H:%M:%S' + local LAST_OUT=/tmp/tmp.3543NYgEqL ++ mktemp ++ echo 2025-07-24 16:31:22 + local LAST_ERR=/tmp/tmp.7x9v7vqYCv + /usr/bin/sed -e 's/date:/date: 2025-07-24 16:31:22/' + 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.3543NYgEqL perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-2 created + cat /tmp/tmp.7x9v7vqYCv + rm /tmp/tmp.3543NYgEqL /tmp/tmp.7x9v7vqYCv + return 0 + wait_restore backup-minio-2 some-name requested 0 1200 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be createdOK Waiting psmdb-restore/restore-backup-minio-2 to reach state "requested" ..............OK after 14 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-2 some-name ready 0 1600 + local backup_name=backup-minio-2 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-2 object to be createdOK Waiting psmdb-restore/restore-backup-minio-2 to reach state "ready" ..OK after 2 minutes + [[ 0 -eq 1 ]] + echo + set -o xtrace + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kA3LK0IMST +++ mktemp ++ local LAST_ERR=/tmp/tmp.tzj4213eAf ++ 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.kA3LK0IMST ++ cat /tmp/tmp.tzj4213eAf ++ rm /tmp/tmp.kA3LK0IMST /tmp/tmp.tzj4213eAf ++ 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.3IzujjHqIs +++ mktemp ++ local LAST_ERR=/tmp/tmp.vGgq8H4RYq ++ 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.3IzujjHqIs ++ cat /tmp/tmp.vGgq8H4RYq ++ rm /tmp/tmp.3IzujjHqIs /tmp/tmp.vGgq8H4RYq ++ 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.EBgqhaamNs +++ mktemp ++ local LAST_ERR=/tmp/tmp.ImjSXgVn9J ++ 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.EBgqhaamNs ++ cat /tmp/tmp.ImjSXgVn9J ++ rm /tmp/tmp.EBgqhaamNs /tmp/tmp.ImjSXgVn9J ++ 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.JjjPgpRs0S +++ mktemp ++ local LAST_ERR=/tmp/tmp.aGpvvPZ6v7 ++ 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.JjjPgpRs0S ++ cat /tmp/tmp.aGpvvPZ6v7 ++ rm /tmp/tmp.JjjPgpRs0S /tmp/tmp.aGpvvPZ6v7 ++ 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.2C83APN7NE +++ mktemp ++ local LAST_ERR=/tmp/tmp.oMOUsGSCfj ++ 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.2C83APN7NE ++ cat /tmp/tmp.oMOUsGSCfj ++ rm /tmp/tmp.2C83APN7NE /tmp/tmp.oMOUsGSCfj ++ 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.DQxdUVGtfL +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vm7sNPyGvT ++ 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.DQxdUVGtfL ++ cat /tmp/tmp.Vm7sNPyGvT ++ rm /tmp/tmp.DQxdUVGtfL /tmp/tmp.Vm7sNPyGvT ++ 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.v6sV6WiBQ3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.jT7A8Vv7mJ ++ 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.v6sV6WiBQ3 ++ cat /tmp/tmp.jT7A8Vv7mJ ++ rm /tmp/tmp.v6sV6WiBQ3 /tmp/tmp.jT7A8Vv7mJ ++ 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.UruP2J6Z9o +++ mktemp ++ local LAST_ERR=/tmp/tmp.rEEB00bD7y ++ 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.UruP2J6Z9o ++ cat /tmp/tmp.rEEB00bD7y ++ rm /tmp/tmp.UruP2J6Z9o /tmp/tmp.rEEB00bD7y ++ 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.CMbbJdqZHK +++ mktemp ++ local LAST_ERR=/tmp/tmp.heMhyKGBiP ++ 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.CMbbJdqZHK ++ cat /tmp/tmp.heMhyKGBiP ++ rm /tmp/tmp.CMbbJdqZHK /tmp/tmp.heMhyKGBiP ++ 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-25891 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-25891 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.cSOl3XUfzR +++ mktemp ++ local LAST_ERR=/tmp/tmp.wF0ZsYFBm6 ++ 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.cSOl3XUfzR ++ cat /tmp/tmp.wF0ZsYFBm6 ++ rm /tmp/tmp.cSOl3XUfzR /tmp/tmp.wF0ZsYFBm6 ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.jZVKn0wm8l ++ mktemp + local LAST_ERR=/tmp/tmp.mxiJTCepsS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jZVKn0wm8l + cat /tmp/tmp.mxiJTCepsS + rm /tmp/tmp.jZVKn0wm8l /tmp/tmp.mxiJTCepsS + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/compare/find-2nd.json /tmp/tmp.BDsORzEeUg/find-2nd + run_backup backup-minio 3 physical + local name=backup-minio + local idx=3 + local type=physical + desc 'run backup backup-minio-3' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-3 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/conf/backup-minio.yml + /usr/bin/sed -e 's/name:/name: backup-minio-3/' + /usr/bin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.j3WVr5cf1s ++ mktemp + local LAST_ERR=/tmp/tmp.qGh4nBnjus + 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.j3WVr5cf1s perconaservermongodbbackup.psmdb.percona.com/backup-minio-3 created + cat /tmp/tmp.qGh4nBnjus + rm /tmp/tmp.j3WVr5cf1s /tmp/tmp.qGh4nBnjus + return 0 + wait_backup backup-minio-3 + local backup_name=backup-minio-3 + local target_state=ready + set +o xtrace waiting for backup-minio-3 to reach ready state............. + sleep 5 + compare_latest_restorable_time some-name-rs0 backup-minio-3 + local cluster=some-name-rs0 + local backup_name=backup-minio-3 + 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.4hdZq1yunR ++++ mktemp +++ local LAST_ERR=/tmp/tmp.umV9CygN6B +++ 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.4hdZq1yunR +++ cat /tmp/tmp.umV9CygN6B +++ rm /tmp/tmp.4hdZq1yunR /tmp/tmp.umV9CygN6B +++ return 0 ++ first_timestamp=1753374811 ++ sleep 5 ++ [[ 1753374811 != '' ]] ++ [[ 1753374811 != \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.ojGbN5vANm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.wT1PT23oST +++ 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.ojGbN5vANm +++ cat /tmp/tmp.wT1PT23oST +++ rm /tmp/tmp.ojGbN5vANm /tmp/tmp.wT1PT23oST +++ return 0 ++ second_timestamp=1753374811 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1753374811 != '' ]] ++ [[ 1753374811 != \n\u\l\l ]] ++ [[ 1753374811 == 1753374811 ]] ++ /usr/bin/date -u -d @1753374811 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2025-07-24T16:33:31Z ++ get_latest_restorable_time_from_backup_object backup-minio-3 ++ local backup_name=backup-minio-3 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-3 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.TXfR3Vo2rQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aEVx2d3u4T +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl get psmdb-backup backup-minio-3 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.TXfR3Vo2rQ +++ cat /tmp/tmp.aEVx2d3u4T +++ rm /tmp/tmp.TXfR3Vo2rQ /tmp/tmp.aEVx2d3u4T +++ return 0 ++ latestRestorableTime=2025-07-24T16:33:31Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2025-07-24T16:33:31Z != '' ]] ++ [[ 2025-07-24T16:33:31Z != \n\u\l\l ]] ++ echo 2025-07-24T16:33:31Z + backup_time=2025-07-24T16:33:31Z + [[ 2025-07-24T16:33:31Z != \2\0\2\5\-\0\7\-\2\4\T\1\6\:\3\3\:\3\1\Z ]] + check_recovery backup-minio-3 latest '' -3rd some-name + local backup_name=backup-minio-3 + local restore_type=latest + local restore_date= + local cmp_postfix=-3rd + local cluster_name=some-name + local 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.w8fJYv10x5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.AbZGLoPdby +++ 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.w8fJYv10x5 +++ cat /tmp/tmp.AbZGLoPdby +++ rm /tmp/tmp.w8fJYv10x5 /tmp/tmp.AbZGLoPdby +++ return 0 ++ echo 1753374811 + local latest_ts=1753374811 + 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-25891 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-25891 + 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.rmSzsOOSzh +++ mktemp ++ local LAST_ERR=/tmp/tmp.cZDPVnQrOb ++ 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.rmSzsOOSzh ++ cat /tmp/tmp.cZDPVnQrOb ++ rm /tmp/tmp.rmSzsOOSzh /tmp/tmp.cZDPVnQrOb ++ return 0 + local client_container=psmdb-client-66f577db5f-pd2w4 + kubectl_bin exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.K0KAqwfJNP ++ mktemp + local LAST_ERR=/tmp/tmp.M8iF6wSpmI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-pd2w4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.K0KAqwfJNP Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-25891.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("d900996e-7e5f-43f2-9aa6-664f0a157a23") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.M8iF6wSpmI + rm /tmp/tmp.K0KAqwfJNP /tmp/tmp.M8iF6wSpmI + 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.bgrPAefWES ++++ mktemp +++ local LAST_ERR=/tmp/tmp.gS4TRPB5eh +++ 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.bgrPAefWES +++ cat /tmp/tmp.gS4TRPB5eh +++ rm /tmp/tmp.bgrPAefWES /tmp/tmp.gS4TRPB5eh +++ return 0 ++ echo 1753374811 + local current_ts=1753374811 + retries=0 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.wmcxq3dKFm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.n2D16ZepLM +++ 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.wmcxq3dKFm +++ cat /tmp/tmp.n2D16ZepLM +++ rm /tmp/tmp.wmcxq3dKFm /tmp/tmp.n2D16ZepLM +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=1 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.NbD86iJ9ZB ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lfTbe4dR7c +++ 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.NbD86iJ9ZB +++ cat /tmp/tmp.lfTbe4dR7c +++ rm /tmp/tmp.NbD86iJ9ZB /tmp/tmp.lfTbe4dR7c +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=2 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.wiy64WEn2W ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4nF242LSU3 +++ 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.wiy64WEn2W +++ cat /tmp/tmp.4nF242LSU3 +++ rm /tmp/tmp.wiy64WEn2W /tmp/tmp.4nF242LSU3 +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=3 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.RgIrUWTSua ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4bJjLYC33I +++ 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.RgIrUWTSua +++ cat /tmp/tmp.4bJjLYC33I +++ rm /tmp/tmp.RgIrUWTSua /tmp/tmp.4bJjLYC33I +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=4 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.STAdF3DsHl ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aBOuiixKCH +++ 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.STAdF3DsHl +++ cat /tmp/tmp.aBOuiixKCH +++ rm /tmp/tmp.STAdF3DsHl /tmp/tmp.aBOuiixKCH +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=5 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.wxd4lvrD5P ++++ mktemp +++ local LAST_ERR=/tmp/tmp.1Mr5Hj04AY +++ 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.wxd4lvrD5P +++ cat /tmp/tmp.1Mr5Hj04AY +++ rm /tmp/tmp.wxd4lvrD5P /tmp/tmp.1Mr5Hj04AY +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=6 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.t3AfeQTXb6 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.rhghF70cBu +++ 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.t3AfeQTXb6 +++ cat /tmp/tmp.rhghF70cBu +++ rm /tmp/tmp.t3AfeQTXb6 /tmp/tmp.rhghF70cBu +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=7 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.oybRkr1lO9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.W2ObsXHqn4 +++ 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.oybRkr1lO9 +++ cat /tmp/tmp.W2ObsXHqn4 +++ rm /tmp/tmp.oybRkr1lO9 /tmp/tmp.W2ObsXHqn4 +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=8 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.lvhD8T4Y7L ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KLAPtEsYHR +++ 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.lvhD8T4Y7L +++ cat /tmp/tmp.KLAPtEsYHR +++ rm /tmp/tmp.lvhD8T4Y7L /tmp/tmp.KLAPtEsYHR +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=9 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 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.ffpUmbJ6oz ++++ mktemp +++ local LAST_ERR=/tmp/tmp.7JlyPqN0nP +++ 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.ffpUmbJ6oz +++ cat /tmp/tmp.7JlyPqN0nP +++ rm /tmp/tmp.ffpUmbJ6oz /tmp/tmp.7JlyPqN0nP +++ return 0 ++ echo 1753374811 + latest_ts=1753374811 + retries=10 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:33:31) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753374811 -gt 1753374811 ]] + [[ 10 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.KsfyelA9tl ++++ mktemp +++ local LAST_ERR=/tmp/tmp.6rQ5jw9iX2 +++ 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.KsfyelA9tl +++ cat /tmp/tmp.6rQ5jw9iX2 +++ rm /tmp/tmp.KsfyelA9tl /tmp/tmp.6rQ5jw9iX2 +++ return 0 ++ echo 1753376247 + latest_ts=1753376247 + retries=11 ++ format_date 1753376247 ++ local timestamp=1753376247 +++ TZ=UTC +++ /usr/bin/date -d@1753376247 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:57:27 ++ format_date 1753374811 ++ local timestamp=1753374811 +++ TZ=UTC +++ /usr/bin/date -d@1753374811 '+%Y-%m-%d %H:%M:%S' ++ echo 2025-07-24 16:33:31 + echo 'Waiting for last oplog chunk (2025-07-24 16:57:27) to be 120 seconds older than starting chunk (2025-07-24 16:33:31)' Waiting for last oplog chunk (2025-07-24 16:57:27) to be 120 seconds older than starting chunk (2025-07-24 16:33:31) + sleep 10 + [[ 1753376247 -gt 1753374811 ]] + '[' -z '' ']' + desc 'check restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- check restore by latest ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1917/e2e-tests/pitr-physical/conf/restore.yml + /usr/bin/sed -e 's/backupName:/backupName: backup-minio-3/' + /usr/bin/sed -e 's/name:/name: restore-backup-minio-3/' + /usr/bin/sed -e /backupSource/,+8d + '[' -z '' ']' + /usr/bin/sed -e /date:/d + /usr/bin/sed -e 's/pitrType:/type: latest/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.3VVnnVtEzx ++ mktemp + local LAST_ERR=/tmp/tmp.eGNkPfbsWk + 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.3VVnnVtEzx perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-3 created + cat /tmp/tmp.eGNkPfbsWk + rm /tmp/tmp.3VVnnVtEzx /tmp/tmp.eGNkPfbsWk + return 0 + wait_restore backup-minio-3 some-name requested 0 1200 + local backup_name=backup-minio-3 + 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-3 object to be createdOK Waiting psmdb-restore/restore-backup-minio-3 to reach state "requested" ..........