Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/../logs/pitr-sharded.log + main + create_infra pitr-sharded-30649 + local ns=pitr-sharded-30649 + [[ 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-2465/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.cazoX3W8Z6 ++ mktemp + local LAST_ERR=/tmp/tmp.SEPf8kM3Wd + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml' '--ignore-not-found' '--wait=false') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cazoX3W8Z6 customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbclustersyncs.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.SEPf8kM3Wd + rm /tmp/tmp.cazoX3W8Z6 /tmp/tmp.SEPf8kM3Wd + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' No resources found + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.X5NmlrANew ++ mktemp + local LAST_ERR=/tmp/tmp.pkwW61XrbV + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbbackups.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.X5NmlrANew customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com condition met + cat /tmp/tmp.pkwW61XrbV + rm /tmp/tmp.X5NmlrANew /tmp/tmp.pkwW61XrbV + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbclustersyncs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + : + kubectl_bin wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.ZVjV92X2nu ++ mktemp + local LAST_ERR=/tmp/tmp.pVaHa8acXW + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbclustersyncs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZVjV92X2nu + cat /tmp/tmp.pVaHa8acXW + rm /tmp/tmp.ZVjV92X2nu /tmp/tmp.pVaHa8acXW + 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.ibbYGj7RPw ++ mktemp + local LAST_ERR=/tmp/tmp.NZsrsHr1Xk + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbrestores.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.ibbYGj7RPw + cat /tmp/tmp.NZsrsHr1Xk + rm /tmp/tmp.ibbYGj7RPw /tmp/tmp.NZsrsHr1Xk + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.JQ2kKjS934 ++ mktemp + local LAST_ERR=/tmp/tmp.daNFNhcPoq + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.JQ2kKjS934 + cat /tmp/tmp.daNFNhcPoq + rm /tmp/tmp.JQ2kKjS934 /tmp/tmp.daNFNhcPoq + 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-2465/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.cadYjLyIhN ++ mktemp + local LAST_ERR=/tmp/tmp.WRjsG1iDoF + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cadYjLyIhN 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.WRjsG1iDoF + rm /tmp/tmp.cadYjLyIhN /tmp/tmp.WRjsG1iDoF + return 0 + check_crd_for_deletion PR-2465-a177d53a8 + local git_tag=PR-2465-a177d53a8 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2465-a177d53a8/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' ++ /usr/sbin/sed s/---//g + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cFCjY11dvv +++ mktemp ++ local LAST_ERR=/tmp/tmp.mMcLLI0qR3 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/null' '-o' 'jsonpath={.status.conditions[-1].type}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.cFCjY11dvv ++ cat /tmp/tmp.mMcLLI0qR3 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.cFCjY11dvv ++ cat /tmp/tmp.mMcLLI0qR3 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.cFCjY11dvv ++ cat /tmp/tmp.mMcLLI0qR3 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.cFCjY11dvv ++ cat /tmp/tmp.mMcLLI0qR3 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.cFCjY11dvv /tmp/tmp.mMcLLI0qR3 ++ return 1 + [[ '' == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' ++ mktemp + awk '{print$1}' + local LAST_OUT=/tmp/tmp.6MYAjqjylN ++ mktemp + [[ -n '' ]] + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + local LAST_ERR=/tmp/tmp.A1eauP76ff + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + xargs kubectl delete ns ++ seq 0 2 ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_OUT=/tmp/tmp.raYn4kbOyr ++ mktemp + local LAST_ERR=/tmp/tmp.1Pne6GG99N + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'psmdb-operator' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6MYAjqjylN + cat /tmp/tmp.A1eauP76ff + rm /tmp/tmp.6MYAjqjylN /tmp/tmp.A1eauP76ff + return 0 namespace "pitr-sharded-19286" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.raYn4kbOyr namespace "psmdb-operator" deleted + cat /tmp/tmp.1Pne6GG99N + rm /tmp/tmp.raYn4kbOyr /tmp/tmp.1Pne6GG99N + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.5z5hcEmhWV ++ mktemp + local LAST_ERR=/tmp/tmp.TZnoa6RfMo + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.5z5hcEmhWV + cat /tmp/tmp.TZnoa6RfMo + rm /tmp/tmp.5z5hcEmhWV /tmp/tmp.TZnoa6RfMo + 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.2LMrPHQNpd ++ mktemp + local LAST_ERR=/tmp/tmp.2rGsb0HpOm + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.2LMrPHQNpd namespace/psmdb-operator created + cat /tmp/tmp.2rGsb0HpOm + rm /tmp/tmp.2LMrPHQNpd /tmp/tmp.2rGsb0HpOm + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.qID5S3w7Hl +++ mktemp ++ local LAST_ERR=/tmp/tmp.tbthpWvCq0 ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.qID5S3w7Hl ++ cat /tmp/tmp.tbthpWvCq0 ++ rm /tmp/tmp.qID5S3w7Hl /tmp/tmp.tbthpWvCq0 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.j0FFgSPijB ++ mktemp + local LAST_ERR=/tmp/tmp.jjjaw3ckwc + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9' '--namespace=psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.j0FFgSPijB Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9" modified. + cat /tmp/tmp.jjjaw3ckwc + rm /tmp/tmp.j0FFgSPijB /tmp/tmp.jjjaw3ckwc + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.BZTDAVmBJv ++ mktemp + local LAST_ERR=/tmp/tmp.WNJEJcyqMC + local exit_status=0 + local timeout=4 + args=('apply' '--server-side' '--force-conflicts' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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-2465/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BZTDAVmBJv customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbclustersyncs.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.WNJEJcyqMC + rm /tmp/tmp.BZTDAVmBJv /tmp/tmp.WNJEJcyqMC + 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-2465/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.vLmqHR2l2C ++ mktemp + local LAST_ERR=/tmp/tmp.c6GjmywaYh + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.vLmqHR2l2C 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.c6GjmywaYh + rm /tmp/tmp.vLmqHR2l2C /tmp/tmp.c6GjmywaYh + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-operator.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + cat - + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.qQtJ8hnxnh ++ mktemp + local LAST_ERR=/tmp/tmp.3CFPQMNw89 + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qQtJ8hnxnh deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.3CFPQMNw89 + rm /tmp/tmp.qQtJ8hnxnh /tmp/tmp.3CFPQMNw89 + return 0 + sleep 20 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.MFvMxRtKAC +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ygv3RpEkoI ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.MFvMxRtKAC ++ cat /tmp/tmp.Ygv3RpEkoI ++ rm /tmp/tmp.MFvMxRtKAC /tmp/tmp.Ygv3RpEkoI ++ return 0 + wait_operator_pod percona-server-mongodb-operator-6cb789f874-jgjqf + local pod=percona-server-mongodb-operator-6cb789f874-jgjqf + set +o xtrace waiting for pod/percona-server-mongodb-operator-6cb789f874-jgjqf 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.9CViz0h6Mi +++ mktemp ++ local LAST_ERR=/tmp/tmp.mpGttmEgLw ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.9CViz0h6Mi ++ cat /tmp/tmp.mpGttmEgLw ++ rm /tmp/tmp.9CViz0h6Mi /tmp/tmp.mpGttmEgLw ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-6cb789f874-jgjqf ++ mktemp + local LAST_OUT=/tmp/tmp.mUCRU4dUx1 ++ mktemp + local LAST_ERR=/tmp/tmp.oMILswMKve + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-6cb789f874-jgjqf') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-6cb789f874-jgjqf + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mUCRU4dUx1 + cat /tmp/tmp.oMILswMKve + rm /tmp/tmp.mUCRU4dUx1 /tmp/tmp.oMILswMKve + return 0 2026-07-22T18:29:23.058Z INFO setup Manager starting up {"gitCommit": "a177d53a8f1a53d235b5094c0cbe20626ddb0066", "gitBranch": "PR-2465-a177d53a8", "buildTime": "", "goVersion": "go1.26.5", "os": "linux", "arch": "amd64"} + create_namespace pitr-sharded-30649 + local namespace=pitr-sharded-30649 + 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 ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org + 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 ----------------------------------------------------------------------------------- + kubectl_bin get ns + awk '{print$1}' + [[ -n '' ]] + desc 'cleaned up old namespaces pitr-sharded-30649' + set +o xtrace + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' ++ mktemp ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-sharded-30649 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-sharded-30649 --ignore-not-found + xargs kubectl delete ns + local LAST_OUT=/tmp/tmp.lgc3bCvShm ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.0LTUK8yUr8 + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local LAST_OUT=/tmp/tmp.Z0O05EBRn6 + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_ERR=/tmp/tmp.1gx2Gy2TbI + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'pitr-sharded-30649' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace pitr-sharded-30649 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lgc3bCvShm + cat /tmp/tmp.0LTUK8yUr8 + rm /tmp/tmp.lgc3bCvShm /tmp/tmp.0LTUK8yUr8 + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Z0O05EBRn6 + cat /tmp/tmp.1gx2Gy2TbI + rm /tmp/tmp.Z0O05EBRn6 /tmp/tmp.1gx2Gy2TbI + return 0 + kubectl_bin wait --for=delete namespace pitr-sharded-30649 ++ mktemp + local LAST_OUT=/tmp/tmp.1Fjk0IXIy8 ++ mktemp + local LAST_ERR=/tmp/tmp.AMJuVqnz8o + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'pitr-sharded-30649') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace pitr-sharded-30649 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1Fjk0IXIy8 + cat /tmp/tmp.AMJuVqnz8o + rm /tmp/tmp.1Fjk0IXIy8 /tmp/tmp.AMJuVqnz8o + return 0 + desc 'create namespace pitr-sharded-30649' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-sharded-30649 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-sharded-30649 ++ mktemp + local LAST_OUT=/tmp/tmp.zsL9U4uF2h ++ mktemp + local LAST_ERR=/tmp/tmp.92f05m7QwB + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'pitr-sharded-30649') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace pitr-sharded-30649 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zsL9U4uF2h namespace/pitr-sharded-30649 created + cat /tmp/tmp.92f05m7QwB + rm /tmp/tmp.zsL9U4uF2h /tmp/tmp.92f05m7QwB + return 0 + set_kube_ctx pitr-sharded-30649 + local namespace=pitr-sharded-30649 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.MX0WpIYcCS +++ mktemp ++ local LAST_ERR=/tmp/tmp.Y3UIrnDB3e ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.MX0WpIYcCS ++ cat /tmp/tmp.Y3UIrnDB3e ++ rm /tmp/tmp.MX0WpIYcCS /tmp/tmp.Y3UIrnDB3e ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9 --namespace=pitr-sharded-30649 ++ mktemp + local LAST_OUT=/tmp/tmp.CFgy4do1fL ++ mktemp + local LAST_ERR=/tmp/tmp.rpWwtVtqqV + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9' '--namespace=pitr-sharded-30649') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9 --namespace=pitr-sharded-30649 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CFgy4do1fL Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster9" modified. + cat /tmp/tmp.rpWwtVtqqV + rm /tmp/tmp.CFgy4do1fL /tmp/tmp.rpWwtVtqqV + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + arch_scheduling_enabled + [[ -n '' ]] + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Wed Jul 22 18:30:05 2026 NAMESPACE: pitr-sharded-30649 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-sharded-30649.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-sharded-30649 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-sharded-30649 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-sharded-30649 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-sharded-30649 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.TDW3WTYWXZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.g2E8UKh5cX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=release=minio-service' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.TDW3WTYWXZ ++ cat /tmp/tmp.g2E8UKh5cX ++ rm /tmp/tmp.TDW3WTYWXZ /tmp/tmp.g2E8UKh5cX ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-4trx2 + wait_pod minio-service-6d5f646cdc-4trx2 + local pod=minio-service-6d5f646cdc-4trx2 + set +o xtrace waiting for pod/minio-service-6d5f646cdc-4trx2 to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-sharded-30649.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + aws_cli_minio http://minio-service:9000 s3 mb s3://operator-testing + local endpoint=http://minio-service:9000 + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing ++ mktemp + local LAST_OUT=/tmp/tmp.kfpT35ce9o ++ mktemp + local LAST_ERR=/tmp/tmp.TxRwHQbZFC + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'mb' 's3://operator-testing') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kfpT35ce9o pod "aws-cli" deleted from pitr-sharded-30649 namespace + cat /tmp/tmp.TxRwHQbZFC All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.kfpT35ce9o /tmp/tmp.TxRwHQbZFC + 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-2465/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client.yml ++ mktemp + local LAST_OUT=/tmp/tmp.59OsfHVUi3 ++ mktemp + local LAST_ERR=/tmp/tmp.96wWNaavl9 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/secrets.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.59OsfHVUi3 secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.96wWNaavl9 + rm /tmp/tmp.59OsfHVUi3 /tmp/tmp.96wWNaavl9 + return 0 + apply_s3_storage_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.mnL7l7PiSm ++ mktemp + local LAST_ERR=/tmp/tmp.yCP9hWr5vl + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mnL7l7PiSm secret/minio-secret created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/oci-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.yCP9hWr5vl + rm /tmp/tmp.mnL7l7PiSm /tmp/tmp.yCP9hWr5vl + return 0 + create_runtime_class + kubectl_bin delete runtimeclass container-rc --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.mKLthTvpw0 ++ mktemp + local LAST_ERR=/tmp/tmp.NjiqUgQOHu + local exit_status=0 + local timeout=4 + args=('delete' 'runtimeclass' 'container-rc' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete runtimeclass container-rc --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mKLthTvpw0 runtimeclass.node.k8s.io "container-rc" deleted + cat /tmp/tmp.NjiqUgQOHu + rm /tmp/tmp.mKLthTvpw0 /tmp/tmp.NjiqUgQOHu + return 0 + local handler=runc + desc 'Create RuntimeClass with handler runc' + set +o xtrace ----------------------------------------------------------------------------------- Create RuntimeClass with handler runc ----------------------------------------------------------------------------------- + yq eval '.handler = "runc"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/container-rc.yaml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.XJJp9pNb3w ++ mktemp + local LAST_ERR=/tmp/tmp.uVBE3y7no2 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.XJJp9pNb3w runtimeclass.node.k8s.io/container-rc created + cat /tmp/tmp.uVBE3y7no2 + rm /tmp/tmp.XJJp9pNb3w /tmp/tmp.uVBE3y7no2 + return 0 + cluster=some-name + desc 'create first PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name ----------------------------------------------------------------------------------- + [[ '' -eq 0 ]] + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/some-name-rs0.yml ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + local LAST_OUT=/tmp/tmp.h8ZcH7cKeh + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' ++ mktemp + yq eval '(.spec | select(has("search"))).search.image = "perconalab/percona-server-mongodb-operator:main-mongot"' + add_arch_to_psmdb - + arch_scheduling_enabled + [[ -n '' ]] + cat - + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/pitr-sharded-30649/g + local LAST_ERR=/tmp/tmp.7H4or8Me6a + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.h8ZcH7cKeh perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.7H4or8Me6a + rm /tmp/tmp.h8ZcH7cKeh /tmp/tmp.7H4or8Me6a + 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_readiness=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.ppSWF9iM4r +++ mktemp ++ local LAST_ERR=/tmp/tmp.w6DsPghbaG ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.ppSWF9iM4r ++ cat /tmp/tmp.w6DsPghbaG ++ rm /tmp/tmp.ppSWF9iM4r /tmp/tmp.w6DsPghbaG ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HPTt7zUqnb +++ mktemp ++ local LAST_ERR=/tmp/tmp.eojiacS6BU ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HPTt7zUqnb ++ cat /tmp/tmp.eojiacS6BU ++ rm /tmp/tmp.HPTt7zUqnb /tmp/tmp.eojiacS6BU ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TwUeCz7gHI +++ mktemp ++ local LAST_ERR=/tmp/tmp.nuAqWphzBm ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.TwUeCz7gHI ++ cat /tmp/tmp.nuAqWphzBm ++ rm /tmp/tmp.TwUeCz7gHI /tmp/tmp.nuAqWphzBm ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready.......................................... + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readiness=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.edF0LlIreL +++ mktemp ++ local LAST_ERR=/tmp/tmp.ghBxbunSHo ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.edF0LlIreL ++ cat /tmp/tmp.ghBxbunSHo ++ rm /tmp/tmp.edF0LlIreL /tmp/tmp.ghBxbunSHo ++ return 0 + [[ '' == true ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZDhvbq87yv +++ mktemp ++ local LAST_ERR=/tmp/tmp.k7nHCG7yBc ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZDhvbq87yv ++ cat /tmp/tmp.k7nHCG7yBc ++ rm /tmp/tmp.ZDhvbq87yv /tmp/tmp.k7nHCG7yBc ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JeozVTtWMo +++ mktemp ++ local LAST_ERR=/tmp/tmp.KvlARE6Gxy ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.JeozVTtWMo ++ cat /tmp/tmp.KvlARE6Gxy ++ rm /tmp/tmp.JeozVTtWMo /tmp/tmp.KvlARE6Gxy ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.APyY5GancI +++ mktemp ++ local LAST_ERR=/tmp/tmp.9YKPdGXB0x ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.APyY5GancI ++ cat /tmp/tmp.9YKPdGXB0x ++ rm /tmp/tmp.APyY5GancI /tmp/tmp.9YKPdGXB0x ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'check if statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/some-name-rs0 + local resource=statefulset/some-name-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs0.yml + local new_result=/tmp/tmp.m6FozqjOpt/statefulset_some-name-rs0.yml + [[ -n '' ]] + kubectl_bin get -o yaml statefulset/some-name-rs0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("pitr-sharded-30649", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.wgfLiYMAir ++ mktemp + local LAST_ERR=/tmp/tmp.itIQf1UOET + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'statefulset/some-name-rs0') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wgfLiYMAir + cat /tmp/tmp.itIQf1UOET + rm /tmp/tmp.wgfLiYMAir /tmp/tmp.itIQf1UOET + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs0.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs0.yml /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs0.yml + log 'compare_kubectl: statefulset/some-name-rs0 OK' + set +o xtrace [2026-07-22T18:34:27+0000] compare_kubectl: statefulset/some-name-rs0 OK + compare_kubectl statefulset/some-name-rs1 + local resource=statefulset/some-name-rs1 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs1.yml + local new_result=/tmp/tmp.m6FozqjOpt/statefulset_some-name-rs1.yml + [[ -n '' ]] + kubectl_bin get -o yaml statefulset/some-name-rs1 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("pitr-sharded-30649", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.BBjO7ZshFg ++ mktemp + local LAST_ERR=/tmp/tmp.0NWryBhN3B + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'statefulset/some-name-rs1') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-rs1 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BBjO7ZshFg + cat /tmp/tmp.0NWryBhN3B + rm /tmp/tmp.BBjO7ZshFg /tmp/tmp.0NWryBhN3B + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs1.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs1.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs1.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs1.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs1.yml /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs1.yml + log 'compare_kubectl: statefulset/some-name-rs1 OK' + set +o xtrace [2026-07-22T18:34:29+0000] compare_kubectl: statefulset/some-name-rs1 OK + compare_kubectl statefulset/some-name-rs2 + local resource=statefulset/some-name-rs2 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs2.yml + local new_result=/tmp/tmp.m6FozqjOpt/statefulset_some-name-rs2.yml + [[ -n '' ]] + kubectl_bin get -o yaml statefulset/some-name-rs2 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("pitr-sharded-30649", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.1BVrcVb43m ++ mktemp + local LAST_ERR=/tmp/tmp.762MVCMuft + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'statefulset/some-name-rs2') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-rs2 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1BVrcVb43m + cat /tmp/tmp.762MVCMuft + rm /tmp/tmp.1BVrcVb43m /tmp/tmp.762MVCMuft + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs2.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs2.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs2.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs2.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-rs2.yml /tmp/tmp.m6FozqjOpt/statefulset_some-name-rs2.yml + log 'compare_kubectl: statefulset/some-name-rs2 OK' + set +o xtrace [2026-07-22T18:34:30+0000] compare_kubectl: statefulset/some-name-rs2 OK + compare_kubectl statefulset/some-name-cfg + local resource=statefulset/some-name-cfg + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-cfg.yml + local new_result=/tmp/tmp.m6FozqjOpt/statefulset_some-name-cfg.yml + [[ -n '' ]] + kubectl_bin get -o yaml statefulset/some-name-cfg + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("pitr-sharded-30649", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.kUUV3934DZ ++ mktemp + local LAST_ERR=/tmp/tmp.UcZSjassSv + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'statefulset/some-name-cfg') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-cfg + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kUUV3934DZ + cat /tmp/tmp.UcZSjassSv + rm /tmp/tmp.kUUV3934DZ /tmp/tmp.UcZSjassSv + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-cfg.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-cfg.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-cfg.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-cfg.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-cfg.yml /tmp/tmp.m6FozqjOpt/statefulset_some-name-cfg.yml + log 'compare_kubectl: statefulset/some-name-cfg OK' + set +o xtrace [2026-07-22T18:34:31+0000] compare_kubectl: statefulset/some-name-cfg OK + compare_kubectl statefulset/some-name-mongos '' + local resource=statefulset/some-name-mongos + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-mongos.yml + local new_result=/tmp/tmp.m6FozqjOpt/statefulset_some-name-mongos.yml + [[ -n '' ]] + kubectl_bin get -o yaml statefulset/some-name-mongos + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("pitr-sharded-30649", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.SVf2QexxBd ++ mktemp + local LAST_ERR=/tmp/tmp.wkcfNJdOH5 + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'statefulset/some-name-mongos') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-mongos + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SVf2QexxBd + cat /tmp/tmp.wkcfNJdOH5 + rm /tmp/tmp.SVf2QexxBd /tmp/tmp.wkcfNJdOH5 + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-mongos.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-mongos.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.m6FozqjOpt/statefulset_some-name-mongos.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-mongos.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/statefulset_some-name-mongos.yml /tmp/tmp.m6FozqjOpt/statefulset_some-name-mongos.yml + log 'compare_kubectl: statefulset/some-name-mongos OK' + set +o xtrace [2026-07-22T18:34:32+0000] compare_kubectl: statefulset/some-name-mongos OK + 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-sharded-30649 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-sharded-30649 + 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.9hnPuyR5vH +++ mktemp ++ local LAST_ERR=/tmp/tmp.sUqRlHHBWN ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.9hnPuyR5vH ++ cat /tmp/tmp.sUqRlHHBWN ++ rm /tmp/tmp.9hnPuyR5vH /tmp/tmp.sUqRlHHBWN ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.FBeEWb2hoa ++ mktemp + local LAST_ERR=/tmp/tmp.23Loo57lKG + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FBeEWb2hoa Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5d43eca5-fa25-487f-9807-ff81f85276eb") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.23Loo57lKG + rm /tmp/tmp.FBeEWb2hoa /tmp/tmp.23Loo57lKG + return 0 + sleep 2 + write_document + local cmp_postfix= + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-07-22T18:34:37+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-sharded-30649 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + 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.3Z2781d4qU +++ mktemp ++ local LAST_ERR=/tmp/tmp.I00MIGhfOH ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.3Z2781d4qU ++ cat /tmp/tmp.I00MIGhfOH ++ rm /tmp/tmp.3Z2781d4qU /tmp/tmp.I00MIGhfOH ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.DqawSrCKBN ++ mktemp + local LAST_ERR=/tmp/tmp.QLm728Rdv9 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DqawSrCKBN Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("169537bc-ac65-4b55-9ee6-8f4b7539119a") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.QLm728Rdv9 + rm /tmp/tmp.DqawSrCKBN /tmp/tmp.QLm728Rdv9 + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-sharded-30649 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-07-22T18:34:40+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-sharded-30649 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local driver=mongodb + local suffix=.svc.cluster.local + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4q8uznJMV4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.yPBhIpe70r ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.4q8uznJMV4 ++ cat /tmp/tmp.yPBhIpe70r ++ rm /tmp/tmp.4q8uznJMV4 /tmp/tmp.yPBhIpe70r ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.vHiMknyVFW ++ mktemp + local LAST_ERR=/tmp/tmp.EhkVm13QdD + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vHiMknyVFW + cat /tmp/tmp.EhkVm13QdD + rm /tmp/tmp.vHiMknyVFW /tmp/tmp.EhkVm13QdD + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/find.json /tmp/tmp.m6FozqjOpt/find + return + wait_backup_agent some-name-rs0-0 + local agent_pod=some-name-rs0-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-0...2026-07-22T18:33:54.000+0000 I listening for the commands + wait_backup_agent some-name-rs0-1 + local agent_pod=some-name-rs0-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-1...2026-07-22T18:33:58.000+0000 I listening for the commands + wait_backup_agent some-name-rs0-2 + local agent_pod=some-name-rs0-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs0-2...2026-07-22T18:33:57.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-0 + local agent_pod=some-name-rs1-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-0...2026-07-22T18:33:56.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-1 + local agent_pod=some-name-rs1-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-1...2026-07-22T18:33:58.000+0000 I listening for the commands + wait_backup_agent some-name-rs1-2 + local agent_pod=some-name-rs1-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs1-2...2026-07-22T18:34:02.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-0 + local agent_pod=some-name-rs2-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-0...2026-07-22T18:33:57.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-1 + local agent_pod=some-name-rs2-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-1...2026-07-22T18:33:59.000+0000 I listening for the commands + wait_backup_agent some-name-rs2-2 + local agent_pod=some-name-rs2-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-rs2-2...2026-07-22T18:34:02.000+0000 I listening for the commands + local backup_name + [[ '' -eq 0 ]] + backup_name=backup-minio + run_backup backup-minio 0 + local name=backup-minio + local idx=0 + desc 'run backup backup-minio-0' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-0 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/backup-minio.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-0/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.jc7GiWluwZ ++ mktemp + local LAST_ERR=/tmp/tmp.vKGHTGKeB7 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.jc7GiWluwZ perconaservermongodbbackup.psmdb.percona.com/backup-minio-0 created + cat /tmp/tmp.vKGHTGKeB7 + rm /tmp/tmp.jc7GiWluwZ /tmp/tmp.vKGHTGKeB7 + return 0 + wait_backup backup-minio-0 + local backup_name=backup-minio-0 + local target_state=ready + set +o xtrace waiting for backup-minio-0 to reach ready state.................OK + sleep 5 + compare_latest_restorable_time some-name-rs0 backup-minio-0 + local cluster=some-name-rs0 + local backup_name=backup-minio-0 + 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.3fHlXVvPf3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hreyvnKJjD +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.3fHlXVvPf3 +++ cat /tmp/tmp.hreyvnKJjD +++ rm /tmp/tmp.3fHlXVvPf3 /tmp/tmp.hreyvnKJjD +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.sJNvN4GCJG ++++ mktemp +++ local LAST_ERR=/tmp/tmp.QMNHIFfVKi +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.sJNvN4GCJG +++ cat /tmp/tmp.QMNHIFfVKi +++ rm /tmp/tmp.sJNvN4GCJG /tmp/tmp.QMNHIFfVKi +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 2 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.32c9jvnmJf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KQ8P6syoeW +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.32c9jvnmJf +++ cat /tmp/tmp.KQ8P6syoeW +++ rm /tmp/tmp.32c9jvnmJf /tmp/tmp.KQ8P6syoeW +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 3 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lAyIDeCqEL ++++ mktemp +++ local LAST_ERR=/tmp/tmp.P3nXQdqRIV +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.lAyIDeCqEL +++ cat /tmp/tmp.P3nXQdqRIV +++ rm /tmp/tmp.lAyIDeCqEL /tmp/tmp.P3nXQdqRIV +++ return 0 ++ first_timestamp=null ++ sleep 5 ++ [[ null != '' ]] ++ [[ null != null ]] ++ let retry+=1 ++ [[ 4 -gt 30 ]] ++ [[ null != '' ]] ++ [[ null != null ]] +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Ij9UA1Dnnb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.uRhnfEtWn5 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Ij9UA1Dnnb +++ cat /tmp/tmp.uRhnfEtWn5 +++ rm /tmp/tmp.Ij9UA1Dnnb /tmp/tmp.uRhnfEtWn5 +++ return 0 ++ first_timestamp=1784745365 ++ sleep 5 ++ [[ 1784745365 != '' ]] ++ [[ 1784745365 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pRfq0J4Qqh ++++ mktemp +++ local LAST_ERR=/tmp/tmp.4mq8dgR4gO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.pRfq0J4Qqh +++ cat /tmp/tmp.4mq8dgR4gO +++ rm /tmp/tmp.pRfq0J4Qqh /tmp/tmp.4mq8dgR4gO +++ return 0 ++ second_timestamp=1784745356 ++ let retry+=1 ++ [[ 5 -gt 30 ]] ++ [[ 1784745365 != '' ]] ++ [[ 1784745365 != null ]] ++ [[ 1784745365 == 1784745356 ]] +++ 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.IgnCzQutMa ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Gjsuh8FBEu +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.IgnCzQutMa +++ cat /tmp/tmp.Gjsuh8FBEu +++ rm /tmp/tmp.IgnCzQutMa /tmp/tmp.Gjsuh8FBEu +++ return 0 ++ first_timestamp=1784745356 ++ sleep 5 ++ [[ 1784745356 != '' ]] ++ [[ 1784745356 != null ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.djYkssopoA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aTkKlaPnsM +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.djYkssopoA +++ cat /tmp/tmp.aTkKlaPnsM +++ rm /tmp/tmp.djYkssopoA /tmp/tmp.aTkKlaPnsM +++ return 0 ++ second_timestamp=1784745356 ++ let retry+=1 ++ [[ 6 -gt 30 ]] ++ [[ 1784745356 != '' ]] ++ [[ 1784745356 != null ]] ++ [[ 1784745356 == 1784745356 ]] ++ /usr/sbin/date -u -d @1784745356 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2026-07-22T18:35:56Z ++ get_latest_restorable_time_from_backup_object backup-minio-0 ++ local backup_name=backup-minio-0 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-0 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.yfNOsh4fuX ++++ mktemp +++ local LAST_ERR=/tmp/tmp.lQjW5rtutF +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'psmdb-backup' 'backup-minio-0' '-o' 'jsonpath={.status.latestRestorableTime}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get psmdb-backup backup-minio-0 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.yfNOsh4fuX +++ cat /tmp/tmp.lQjW5rtutF +++ rm /tmp/tmp.yfNOsh4fuX /tmp/tmp.lQjW5rtutF +++ return 0 ++ latestRestorableTime=2026-07-22T18:35:56Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2026-07-22T18:35:56Z != '' ]] ++ [[ 2026-07-22T18:35:56Z != null ]] ++ echo 2026-07-22T18:35:56Z + backup_time=2026-07-22T18:35:56Z + [[ 2026-07-22T18:35:56Z != 2026\-07\-22T18\:35\:56Z ]] + write_document -2nd + local cmp_postfix=-2nd + local sleep_value=0 + log 'write initial data, read from all' + set +o xtrace [2026-07-22T18:36:28+0000] write initial data, read from all + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-sharded-30649 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + 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.wFqD9GcFX7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.qL6yQPbsUf ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.wFqD9GcFX7 ++ cat /tmp/tmp.qL6yQPbsUf ++ rm /tmp/tmp.wFqD9GcFX7 /tmp/tmp.qL6yQPbsUf ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.DRGe3goExF ++ mktemp + local LAST_ERR=/tmp/tmp.dV3Q6aDIYE + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DRGe3goExF Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8283d247-880a-4fdf-98d3-c81c6cfbaebc") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.dV3Q6aDIYE + rm /tmp/tmp.DRGe3goExF /tmp/tmp.dV3Q6aDIYE + return 0 + sleep 0 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-sharded-30649 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-07-22T18:36:31+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-sharded-30649 mongodb '' '' 27017 + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + 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.Ta6VOKvejb +++ mktemp ++ local LAST_ERR=/tmp/tmp.Mdsz0GeyMS ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.Ta6VOKvejb ++ cat /tmp/tmp.Mdsz0GeyMS ++ rm /tmp/tmp.Ta6VOKvejb /tmp/tmp.Mdsz0GeyMS ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.JGJzRY40WB ++ mktemp + local LAST_ERR=/tmp/tmp.LJZhs74PwH + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JGJzRY40WB + cat /tmp/tmp.LJZhs74PwH + rm /tmp/tmp.JGJzRY40WB /tmp/tmp.LJZhs74PwH + return 0 + compare_mongo_output find -2nd + local command=find + local postfix=-2nd + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/find-2nd.json /tmp/tmp.m6FozqjOpt/find-2nd + return + sleep 2 ++ run_mongos 'new Date().getTime() / 1000' myApp:myPass@some-name-mongos.pitr-sharded-30649 mongodb '' --quiet ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ local 'command=new Date().getTime() / 1000' ++ local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ cut -d. -f1 +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.BUkhp5j6cY ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Kqe0i40zKb +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.BUkhp5j6cY +++ cat /tmp/tmp.Kqe0i40zKb +++ rm /tmp/tmp.BUkhp5j6cY /tmp/tmp.Kqe0i40zKb +++ return 0 ++ local client_container=psmdb-client-757cd65695-2pf7s ++ kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.W78xe3vPFY +++ mktemp ++ local LAST_ERR=/tmp/tmp.uq01FkbvXw ++ local exit_status=0 ++ local timeout=4 ++ args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin --quiet') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''new Date().getTime() / 1000\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.W78xe3vPFY ++ cat /tmp/tmp.uq01FkbvXw ++ rm /tmp/tmp.W78xe3vPFY /tmp/tmp.uq01FkbvXw ++ return 0 + time_now=1784745399 + check_recovery backup-minio-0 date 1784745399 -2nd some-name + local backup_name=backup-minio-0 + local restore_type=date + local restore_date=1784745399 + 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.BAdyLWkMem ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nKvW58ygmO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.BAdyLWkMem +++ cat /tmp/tmp.nKvW58ygmO +++ rm /tmp/tmp.BAdyLWkMem /tmp/tmp.nKvW58ygmO +++ return 0 ++ echo 1784745356 + local latest_ts=1784745356 + 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-sharded-30649 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + 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.YdXH0uBFWB +++ mktemp ++ local LAST_ERR=/tmp/tmp.XuuMS3QYS1 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.YdXH0uBFWB ++ cat /tmp/tmp.XuuMS3QYS1 ++ rm /tmp/tmp.YdXH0uBFWB /tmp/tmp.XuuMS3QYS1 ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.lKtZISueDf ++ mktemp + local LAST_ERR=/tmp/tmp.1mJ6z388gg + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lKtZISueDf Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e6fe8759-fc49-45a4-a5e1-673dc148df71") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.1mJ6z388gg + rm /tmp/tmp.lKtZISueDf /tmp/tmp.1mJ6z388gg + return 0 + [[ -n 1784745399 ]] ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + desc 'Restoring to time 2026-07-22 18:36:39' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2026-07-22 18:36:39 ----------------------------------------------------------------------------------- + retries=0 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.Z4CgQCAmxT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.BnQlWFFM37 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Z4CgQCAmxT +++ cat /tmp/tmp.BnQlWFFM37 +++ rm /tmp/tmp.Z4CgQCAmxT /tmp/tmp.BnQlWFFM37 +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=1 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.m2VfhYVUcT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.oZ2jhlr4oF +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.m2VfhYVUcT +++ cat /tmp/tmp.oZ2jhlr4oF +++ rm /tmp/tmp.m2VfhYVUcT /tmp/tmp.oZ2jhlr4oF +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=2 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.V9UQyEIbZ5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.LItE04vY4w +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.V9UQyEIbZ5 +++ cat /tmp/tmp.LItE04vY4w +++ rm /tmp/tmp.V9UQyEIbZ5 /tmp/tmp.LItE04vY4w +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=3 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.4PEO0Fb3NC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.YirIMNcFel +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.4PEO0Fb3NC +++ cat /tmp/tmp.YirIMNcFel +++ rm /tmp/tmp.4PEO0Fb3NC /tmp/tmp.YirIMNcFel +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=4 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.WIiehUYnqm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.DxEWrXcvjb +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.WIiehUYnqm +++ cat /tmp/tmp.DxEWrXcvjb +++ rm /tmp/tmp.WIiehUYnqm /tmp/tmp.DxEWrXcvjb +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=5 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.NC2itxVM2Z ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ao1A98vyvO +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.NC2itxVM2Z +++ cat /tmp/tmp.ao1A98vyvO +++ rm /tmp/tmp.NC2itxVM2Z /tmp/tmp.ao1A98vyvO +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=6 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.RPZi1rJRR7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.MZTbFeUAXe +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.RPZi1rJRR7 +++ cat /tmp/tmp.MZTbFeUAXe +++ rm /tmp/tmp.RPZi1rJRR7 /tmp/tmp.MZTbFeUAXe +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=7 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.22a4NHliQD ++++ mktemp +++ local LAST_ERR=/tmp/tmp.u3MI4B0D1s +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.22a4NHliQD +++ cat /tmp/tmp.u3MI4B0D1s +++ rm /tmp/tmp.22a4NHliQD /tmp/tmp.u3MI4B0D1s +++ return 0 ++ echo 1784745356 + latest_ts=1784745356 + retries=8 ++ format_date 1784745356 ++ local timestamp=1784745356 +++ TZ=UTC +++ /usr/sbin/date -d@1784745356 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:35:56 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:35:56) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745356 -gt 1784745399 ]] + [[ 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.Mx9XZ5SGEx ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3lDYC5XsKA +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Mx9XZ5SGEx +++ cat /tmp/tmp.3lDYC5XsKA +++ rm /tmp/tmp.Mx9XZ5SGEx /tmp/tmp.3lDYC5XsKA +++ return 0 ++ echo 1784745364 + latest_ts=1784745364 + retries=9 ++ format_date 1784745364 ++ local timestamp=1784745364 +++ TZ=UTC +++ /usr/sbin/date -d@1784745364 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:04 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:36:04) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:36:04) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745364 -gt 1784745399 ]] + [[ 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.ANTh2VzNwC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.IKk9PMybU2 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.ANTh2VzNwC +++ cat /tmp/tmp.IKk9PMybU2 +++ rm /tmp/tmp.ANTh2VzNwC /tmp/tmp.IKk9PMybU2 +++ return 0 ++ echo 1784745485 + latest_ts=1784745485 + retries=10 ++ format_date 1784745485 ++ local timestamp=1784745485 +++ TZ=UTC +++ /usr/sbin/date -d@1784745485 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:38:05 ++ format_date 1784745399 ++ local timestamp=1784745399 +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:36:39 + echo 'Waiting for last oplog chunk (2026-07-22 18:38:05) to be greater than restore target (2026-07-22 18:36:39)' Waiting for last oplog chunk (2026-07-22 18:38:05) to be greater than restore target (2026-07-22 18:36:39) + sleep 10 + [[ 1784745485 -gt 1784745399 ]] + '[' -z '' ']' + desc 'check restore by date' + set +o xtrace ----------------------------------------------------------------------------------- check restore by date ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-0/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio-0/' + /usr/sbin/sed -e /backupSource/,+8d + /usr/sbin/sed -e 's/pitrType:/type: date/' + '[' -z 1784745399 ']' + kubectl_bin apply -f - ++ format_date 1784745399 ++ local timestamp=1784745399 ++ mktemp +++ TZ=UTC +++ /usr/sbin/date -d@1784745399 '+%Y-%m-%d %H:%M:%S' + local LAST_OUT=/tmp/tmp.VY1gQ58tPa ++ echo 2026-07-22 18:36:39 ++ mktemp + /usr/sbin/sed -e 's/date:/date: 2026-07-22 18:36:39/' + local LAST_ERR=/tmp/tmp.HSUyvSrDV7 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.VY1gQ58tPa perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-0 created + cat /tmp/tmp.HSUyvSrDV7 + rm /tmp/tmp.VY1gQ58tPa /tmp/tmp.HSUyvSrDV7 + return 0 + wait_restore backup-minio-0 some-name requested 0 1200 + local backup_name=backup-minio-0 + 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-0 object to be created.OK Waiting psmdb-restore/restore-backup-minio-0 to reach state "requested" ..OK after 1 minutes + [[ 0 -eq 1 ]] + echo + wait_restore backup-minio-0 some-name ready 0 1600 + local backup_name=backup-minio-0 + 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-0 object to be created.OK Waiting psmdb-restore/restore-backup-minio-0 to reach state "ready" .OK after 0 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_readiness=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.W3B1WBXwfi +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vbh2DLBhex ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.W3B1WBXwfi ++ cat /tmp/tmp.Vbh2DLBhex ++ rm /tmp/tmp.W3B1WBXwfi /tmp/tmp.Vbh2DLBhex ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dGmotG9HpU +++ mktemp ++ local LAST_ERR=/tmp/tmp.1GmQlFZAr0 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dGmotG9HpU ++ cat /tmp/tmp.1GmQlFZAr0 ++ rm /tmp/tmp.dGmotG9HpU /tmp/tmp.1GmQlFZAr0 ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zLxy30D8vj +++ mktemp ++ local LAST_ERR=/tmp/tmp.9jwNDanYXk ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.zLxy30D8vj ++ cat /tmp/tmp.9jwNDanYXk ++ rm /tmp/tmp.zLxy30D8vj /tmp/tmp.9jwNDanYXk ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready............. + wait_for_running some-name-cfg 3 + local name=some-name-cfg + let last_pod=2 + local check_cluster_readiness=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.9sogc7rG6J +++ mktemp ++ local LAST_ERR=/tmp/tmp.UQTniHNW9R ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.9sogc7rG6J ++ cat /tmp/tmp.UQTniHNW9R ++ rm /tmp/tmp.9sogc7rG6J /tmp/tmp.UQTniHNW9R ++ return 0 + [[ '' == true ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6SzcJMAMek +++ mktemp ++ local LAST_ERR=/tmp/tmp.1YMJPEZ5dR ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6SzcJMAMek ++ cat /tmp/tmp.1YMJPEZ5dR ++ rm /tmp/tmp.6SzcJMAMek /tmp/tmp.1YMJPEZ5dR ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TVwsgcUMfb +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ox5oYwxcR8 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.TVwsgcUMfb ++ cat /tmp/tmp.Ox5oYwxcR8 ++ rm /tmp/tmp.TVwsgcUMfb /tmp/tmp.Ox5oYwxcR8 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readiness=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.VCKoNaPVq7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.lVqWCpTzE1 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.VCKoNaPVq7 ++ cat /tmp/tmp.lVqWCpTzE1 ++ rm /tmp/tmp.VCKoNaPVq7 /tmp/tmp.lVqWCpTzE1 ++ return 0 + [[ '' == true ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CP0dEjPr6q +++ mktemp ++ local LAST_ERR=/tmp/tmp.asho7kDkay ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CP0dEjPr6q ++ cat /tmp/tmp.asho7kDkay ++ rm /tmp/tmp.CP0dEjPr6q /tmp/tmp.asho7kDkay ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Hn8KQuxhmr +++ mktemp ++ local LAST_ERR=/tmp/tmp.gDYp42sUpX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.Hn8KQuxhmr ++ cat /tmp/tmp.gDYp42sUpX ++ rm /tmp/tmp.Hn8KQuxhmr /tmp/tmp.gDYp42sUpX ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-sharded-30649 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-07-22T18:41:56+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-sharded-30649 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ 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.VeA4iUgwqV +++ mktemp ++ local LAST_ERR=/tmp/tmp.ehGuEAyVWq ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.VeA4iUgwqV ++ cat /tmp/tmp.ehGuEAyVWq ++ rm /tmp/tmp.VeA4iUgwqV /tmp/tmp.ehGuEAyVWq ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.rS3L1QS93l ++ mktemp + local LAST_ERR=/tmp/tmp.zjYI4XKP7g + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rS3L1QS93l + cat /tmp/tmp.zjYI4XKP7g + rm /tmp/tmp.rS3L1QS93l /tmp/tmp.zjYI4XKP7g + return 0 + compare_mongo_output find -2nd + local command=find + local postfix=-2nd + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/compare/find-2nd.json /tmp/tmp.m6FozqjOpt/find-2nd + return + run_backup backup-minio 1 + local name=backup-minio + local idx=1 + desc 'run backup backup-minio-1' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-1 ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/backup-minio.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-1/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.4l0zvfpqcJ ++ mktemp + local LAST_ERR=/tmp/tmp.zca7q8HvWZ + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.4l0zvfpqcJ perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.zca7q8HvWZ + rm /tmp/tmp.4l0zvfpqcJ /tmp/tmp.zca7q8HvWZ + return 0 + wait_backup backup-minio-1 + local backup_name=backup-minio-1 + local target_state=ready + set +o xtrace waiting for backup-minio-1 to reach ready state.................OK + sleep 5 + check_recovery backup-minio-1 latest '' -3rd some-name + local backup_name=backup-minio-1 + 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.gKmYFtwtoT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.LjfN2Suvkb +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.gKmYFtwtoT +++ cat /tmp/tmp.LjfN2Suvkb +++ rm /tmp/tmp.gKmYFtwtoT /tmp/tmp.LjfN2Suvkb +++ return 0 ++ echo 1784745584 + local latest_ts=1784745584 + 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-sharded-30649 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-sharded-30649 + local driver=mongodb + local suffix=.svc.cluster.local + 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.pciBat7Y4K +++ mktemp ++ local LAST_ERR=/tmp/tmp.xvUzSAac3V ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ 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.pciBat7Y4K ++ cat /tmp/tmp.xvUzSAac3V ++ rm /tmp/tmp.pciBat7Y4K /tmp/tmp.xvUzSAac3V ++ return 0 + local client_container=psmdb-client-757cd65695-2pf7s + kubectl_bin exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.DcbnzB0GSx ++ mktemp + local LAST_ERR=/tmp/tmp.hrgPPYncS6 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2pf7s' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-757cd65695-2pf7s -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DcbnzB0GSx Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-sharded-30649.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("79b4804e-a05c-40a4-a3d0-e786339eb386") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.hrgPPYncS6 + rm /tmp/tmp.DcbnzB0GSx /tmp/tmp.hrgPPYncS6 + return 0 + [[ -n '' ]] + desc 'Restoring to latest' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to latest ----------------------------------------------------------------------------------- ++ 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.xgV6L9vCuf ++++ mktemp +++ local LAST_ERR=/tmp/tmp.QOsMAcCagE +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.xgV6L9vCuf +++ cat /tmp/tmp.QOsMAcCagE +++ rm /tmp/tmp.xgV6L9vCuf /tmp/tmp.QOsMAcCagE +++ return 0 ++ echo 1784745584 + local current_ts=1784745584 + retries=0 + [[ 1784745584 -gt 1784745584 ]] + [[ 0 -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.XriAGHw1PJ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KvbidCvoB4 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.XriAGHw1PJ +++ cat /tmp/tmp.KvbidCvoB4 +++ rm /tmp/tmp.XriAGHw1PJ /tmp/tmp.KvbidCvoB4 +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=1 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.Rcytt8YgI8 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JjTEGoVK7l +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Rcytt8YgI8 +++ cat /tmp/tmp.JjTEGoVK7l +++ rm /tmp/tmp.Rcytt8YgI8 /tmp/tmp.JjTEGoVK7l +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=2 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.W6elmP68wW ++++ mktemp +++ local LAST_ERR=/tmp/tmp.1cpAotqdjx +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.W6elmP68wW +++ cat /tmp/tmp.1cpAotqdjx +++ rm /tmp/tmp.W6elmP68wW /tmp/tmp.1cpAotqdjx +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=3 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.8d4U2TyZ28 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.39mEUsWBd2 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.8d4U2TyZ28 +++ cat /tmp/tmp.39mEUsWBd2 +++ rm /tmp/tmp.8d4U2TyZ28 /tmp/tmp.39mEUsWBd2 +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=4 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.n40YTNq8o1 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.sdIPbEs756 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.n40YTNq8o1 +++ cat /tmp/tmp.sdIPbEs756 +++ rm /tmp/tmp.n40YTNq8o1 /tmp/tmp.sdIPbEs756 +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=5 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.oE8MQ7Trks ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JUlgtBAxD2 +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.oE8MQ7Trks +++ cat /tmp/tmp.JUlgtBAxD2 +++ rm /tmp/tmp.oE8MQ7Trks /tmp/tmp.JUlgtBAxD2 +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=6 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.nP9zItvYP4 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.7NnJoJRldI +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.nP9zItvYP4 +++ cat /tmp/tmp.7NnJoJRldI +++ rm /tmp/tmp.nP9zItvYP4 /tmp/tmp.7NnJoJRldI +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=7 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.Edjnnf5Hjy ++++ mktemp +++ local LAST_ERR=/tmp/tmp.qGK5er2kkF +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.Edjnnf5Hjy +++ cat /tmp/tmp.qGK5er2kkF +++ rm /tmp/tmp.Edjnnf5Hjy /tmp/tmp.qGK5er2kkF +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=8 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.qRVq0ZLiuh ++++ mktemp +++ local LAST_ERR=/tmp/tmp.qnH4X5NgBz +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.qRVq0ZLiuh +++ cat /tmp/tmp.qnH4X5NgBz +++ rm /tmp/tmp.qRVq0ZLiuh /tmp/tmp.qnH4X5NgBz +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=9 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.nrtDs30FRj ++++ mktemp +++ local LAST_ERR=/tmp/tmp.duNOuIiUXf +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.nrtDs30FRj +++ cat /tmp/tmp.duNOuIiUXf +++ rm /tmp/tmp.nrtDs30FRj /tmp/tmp.duNOuIiUXf +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=10 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 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.PEPIfQzO2x ++++ mktemp +++ local LAST_ERR=/tmp/tmp.vZbtCdY0jK +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.PEPIfQzO2x +++ cat /tmp/tmp.vZbtCdY0jK +++ rm /tmp/tmp.PEPIfQzO2x /tmp/tmp.vZbtCdY0jK +++ return 0 ++ echo 1784745584 + latest_ts=1784745584 + retries=11 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:39:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745584 -gt 1784745584 ]] + [[ 11 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.WFDXRYYc5x ++++ mktemp +++ local LAST_ERR=/tmp/tmp.5sRVAFytiw +++ local exit_status=0 +++ local timeout=4 +++ args=('exec' 'some-name-rs0-0' '-c' 'backup-agent' '--' 'pbm' 'status' '-o' 'json') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ 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.WFDXRYYc5x +++ cat /tmp/tmp.5sRVAFytiw +++ rm /tmp/tmp.WFDXRYYc5x /tmp/tmp.5sRVAFytiw +++ return 0 ++ echo 1784745884 + latest_ts=1784745884 + retries=12 ++ format_date 1784745884 ++ local timestamp=1784745884 +++ TZ=UTC +++ /usr/sbin/date -d@1784745884 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:44:44 ++ format_date 1784745584 ++ local timestamp=1784745584 +++ TZ=UTC +++ /usr/sbin/date -d@1784745584 '+%Y-%m-%d %H:%M:%S' ++ echo 2026-07-22 18:39:44 + echo 'Waiting for last oplog chunk (2026-07-22 18:44:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44)' Waiting for last oplog chunk (2026-07-22 18:44:44) to be 120 seconds older than starting chunk (2026-07-22 18:39:44) + sleep 10 + [[ 1784745884 -gt 1784745584 ]] + '[' -z '' ']' + desc 'check restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- check restore by latest ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/pitr-sharded/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-1/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio-1/' + /usr/sbin/sed -e /backupSource/,+8d + /usr/sbin/sed -e 's/pitrType:/type: latest/' + '[' -z '' ']' + /usr/sbin/sed -e /date:/d + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.QzthNxnld4 ++ mktemp + local LAST_ERR=/tmp/tmp.JHeA2QM0fH + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.QzthNxnld4 perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.JHeA2QM0fH + rm /tmp/tmp.QzthNxnld4 /tmp/tmp.JHeA2QM0fH + return 0 + wait_restore backup-minio-1 some-name requested 0 1200 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=1200 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-1 object to be created.OK Waiting psmdb-restore/restore-backup-minio-1 to reach state "requested" ............Error from server: Get "https://10.216.0.30:10250/containerLogs/psmdb-operator/percona-server-mongodb-operator-6cb789f874-jgjqf/percona-server-mongodb-operator": dial tcp 10.216.0.30:10250: i/o timeout Error from server: Get "https://10.216.0.30:10250/containerLogs/psmdb-operator/percona-server-mongodb-operator-6cb789f874-jgjqf/percona-server-mongodb-operator": dial tcp 10.216.0.30:10250: i/o timeout Error from server: Get "https://10.216.0.30:10250/containerLogs/psmdb-operator/percona-server-mongodb-operator-6cb789f874-jgjqf/percona-server-mongodb-operator": dial tcp 10.216.0.30:10250: i/o timeout Error from server: Get "https://10.216.0.30:10250/containerLogs/psmdb-operator/percona-server-mongodb-operator-6cb789f874-jgjqf/percona-server-mongodb-operator": dial tcp 10.216.0.30:10250: i/o timeout apiVersion: psmdb.percona.com/v1 kind: PerconaServerMongoDBRestore metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"psmdb.percona.com/v1","kind":"PerconaServerMongoDBRestore","metadata":{"annotations":{},"name":"restore-backup-minio-1","namespace":"pitr-sharded-30649"},"spec":{"backupName":"backup-minio-1","clusterName":"some-name","pitr":{"type":"latest"}}} creationTimestamp: "2026-07-22T18:45:13Z" generation: 1 name: restore-backup-minio-1 namespace: pitr-sharded-30649 resourceVersion: "1784746620097487006" uid: a791a246-8ab0-451e-80ec-16ad6b4ceadf spec: backupName: backup-minio-1 clusterName: some-name pitr: type: latest status: error: 'failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-07-22T18:42:00Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head "http://minio-service:9000/operator-testing/2026-07-22T18%3A42%3A00Z.pbm.json": dial tcp 34.118.227.175:9000: connect: connection refused' state: error Name: restore-backup-minio-1 Namespace: pitr-sharded-30649 Labels: Annotations: API Version: psmdb.percona.com/v1 Kind: PerconaServerMongoDBRestore Metadata: Creation Timestamp: 2026-07-22T18:45:13Z Generation: 1 Resource Version: 1784746620097487006 UID: a791a246-8ab0-451e-80ec-16ad6b4ceadf Spec: Backup Name: backup-minio-1 Cluster Name: some-name Pitr: Type: latest Status: Error: failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-07-22T18:42:00Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head "http://minio-service:9000/operator-testing/2026-07-22T18%3A42%3A00Z.pbm.json": dial tcp 34.118.227.175:9000: connect: connection refused State: error Events: Restore object restore-backup-minio-1 is in error state after 12 minutes. something went wrong with operator or kubernetes cluster