Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/logs/upgrade-partial-backup.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + '[' -n '' ']' + CLUSTER=some-name + BACKUP_NAME_MINIO=backup-minio + TARGET_OPERATOR_VER=1.23.0 ++ curl -s https://check.percona.com/versions/v1/psmdb-operator ++ jq -r '.versions[].operator' ++ sort -V ++ tail -n1 + INIT_OPERATOR_VER=1.22.0 + [[ 1.22.0 == 1\.23\.0 ]] + GIT_TAG=v1.22.0 + setup_infra + create_infra_gh_release upgrade-partial-backup-21711 v1.22.0 + local ns=upgrade-partial-backup-21711 + local git_tag=v1.22.0 + check_crd_for_deletion v1.22.0 + local git_tag=v1.22.0 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qz74hCgjTv +++ mktemp ++ local LAST_ERR=/tmp/tmp.YbvNvrnMnz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qz74hCgjTv ++ cat /tmp/tmp.YbvNvrnMnz ++ rm /tmp/tmp.qz74hCgjTv /tmp/tmp.YbvNvrnMnz ++ return 0 + [[ Established == Terminating ]] + 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/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.67atqiPEdG +++ mktemp ++ local LAST_ERR=/tmp/tmp.WdaWtwXrth ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.67atqiPEdG ++ cat /tmp/tmp.WdaWtwXrth ++ rm /tmp/tmp.67atqiPEdG /tmp/tmp.WdaWtwXrth ++ return 0 + [[ Established == Terminating ]] + 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/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.oopQ2OVGFx +++ mktemp ++ local LAST_ERR=/tmp/tmp.kkrxWPN8d1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.oopQ2OVGFx ++ cat /tmp/tmp.kkrxWPN8d1 ++ rm /tmp/tmp.oopQ2OVGFx /tmp/tmp.kkrxWPN8d1 ++ return 0 + [[ Established == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep validate-auth ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + xargs kubectl delete ns + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.aIwVN2OZt7 ++ mktemp + local LAST_OUT=/tmp/tmp.c6Qf9Q1V72 ++ mktemp + local LAST_ERR=/tmp/tmp.WHB2LUhIG5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.CXGldbX1lR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.aIwVN2OZt7 + cat /tmp/tmp.WHB2LUhIG5 + rm /tmp/tmp.aIwVN2OZt7 /tmp/tmp.WHB2LUhIG5 + return 0 namespace "upgrade-30317" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.c6Qf9Q1V72 namespace "psmdb-operator" deleted + cat /tmp/tmp.CXGldbX1lR + rm /tmp/tmp.c6Qf9Q1V72 /tmp/tmp.CXGldbX1lR + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Hwsi7TriZ4 ++ mktemp + local LAST_ERR=/tmp/tmp.WemUmpCp7g + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Hwsi7TriZ4 + cat /tmp/tmp.WemUmpCp7g + rm /tmp/tmp.Hwsi7TriZ4 /tmp/tmp.WemUmpCp7g + 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.FLUBIPgXvk ++ mktemp + local LAST_ERR=/tmp/tmp.MlAX0E3sFg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FLUBIPgXvk namespace/psmdb-operator created + cat /tmp/tmp.MlAX0E3sFg + rm /tmp/tmp.FLUBIPgXvk /tmp/tmp.MlAX0E3sFg + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.H7MFhJKNDv +++ mktemp ++ local LAST_ERR=/tmp/tmp.PpTeJFZcKo ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.H7MFhJKNDv ++ cat /tmp/tmp.PpTeJFZcKo ++ rm /tmp/tmp.H7MFhJKNDv /tmp/tmp.PpTeJFZcKo ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.3weuzNd36K ++ mktemp + local LAST_ERR=/tmp/tmp.Nd3qGzSnl3 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3weuzNd36K Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14" modified. + cat /tmp/tmp.Nd3qGzSnl3 + rm /tmp/tmp.3weuzNd36K /tmp/tmp.Nd3qGzSnl3 + return 0 + deploy_operator_gh_release v1.22.0 + local git_tag=v1.22.0 + desc 'start operator v1.22.0' + set +o xtrace ----------------------------------------------------------------------------------- start operator v1.22.0 ----------------------------------------------------------------------------------- + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/crd.yaml --server-side ++ mktemp + local LAST_OUT=/tmp/tmp.6eGYIkc5oJ ++ mktemp + local LAST_ERR=/tmp/tmp.Njtii7QN86 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/crd.yaml --server-side + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6eGYIkc5oJ customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.Njtii7QN86 + rm /tmp/tmp.6eGYIkc5oJ /tmp/tmp.Njtii7QN86 + return 0 + local rbac_yaml=rbac + local operator_yaml=operator + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac + operator_yaml=cw-operator + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/cw-rbac.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.ivc3u9MagN ++ mktemp + local LAST_ERR=/tmp/tmp.MeARJjGsGc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/cw-rbac.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ivc3u9MagN clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator configured serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.MeARJjGsGc + rm /tmp/tmp.ivc3u9MagN /tmp/tmp.MeARJjGsGc + return 0 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/cw-operator.yaml + yq eval $'\n\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /tmp/tmp.4HCnWXu8Kh/cw-operator_v1.22.0.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.gSRyUOo4ll ++ mktemp + local LAST_ERR=/tmp/tmp.QPXuMT6Tfm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gSRyUOo4ll deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.QPXuMT6Tfm + rm /tmp/tmp.gSRyUOo4ll /tmp/tmp.QPXuMT6Tfm + 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.5Lpuxl8tAG +++ mktemp ++ local LAST_ERR=/tmp/tmp.joOhN7jpJI ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5Lpuxl8tAG ++ cat /tmp/tmp.joOhN7jpJI ++ rm /tmp/tmp.5Lpuxl8tAG /tmp/tmp.joOhN7jpJI ++ return 0 + wait_operator_pod percona-server-mongodb-operator-67c8d8858f-vpb7d + local pod=percona-server-mongodb-operator-67c8d8858f-vpb7d + set +o xtrace waiting for pod/percona-server-mongodb-operator-67c8d8858f-vpb7d to be ready.OK + echo 'Print operator info from log' Print operator info from log ++ get_operator_pod + grep 'Manager starting up' ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.XwDvanHLLh +++ mktemp ++ local LAST_ERR=/tmp/tmp.Bjw37T21E6 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.XwDvanHLLh ++ cat /tmp/tmp.Bjw37T21E6 ++ rm /tmp/tmp.XwDvanHLLh /tmp/tmp.Bjw37T21E6 ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d ++ mktemp + local LAST_OUT=/tmp/tmp.KgsPWcc5Zx ++ mktemp + local LAST_ERR=/tmp/tmp.Jg0tlZN9gD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KgsPWcc5Zx + cat /tmp/tmp.Jg0tlZN9gD + rm /tmp/tmp.KgsPWcc5Zx /tmp/tmp.Jg0tlZN9gD + return 0 2026-06-09T11:06:55.516Z INFO setup Manager starting up {"gitCommit": "1fc1e8b4e5640f83f0b5b71e0f25d8bbec82caf6", "gitBranch": "release-1-22-0", "buildTime": "", "goVersion": "go1.25.7", "os": "linux", "arch": "amd64"} + create_namespace upgrade-partial-backup-21711 + local namespace=upgrade-partial-backup-21711 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ kubectl get clusterrolebinding ++ 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 ++ mktemp + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces upgrade-partial-backup-21711' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces upgrade-partial-backup-21711 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace upgrade-partial-backup-21711 --ignore-not-found + local LAST_OUT=/tmp/tmp.XUKs6jTAu6 ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.2IWvNd0rGl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_OUT=/tmp/tmp.JYV9eBac0h ++ mktemp + local LAST_ERR=/tmp/tmp.3QPD4LxaqN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace upgrade-partial-backup-21711 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XUKs6jTAu6 + cat /tmp/tmp.2IWvNd0rGl + rm /tmp/tmp.XUKs6jTAu6 /tmp/tmp.2IWvNd0rGl + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JYV9eBac0h + cat /tmp/tmp.3QPD4LxaqN + rm /tmp/tmp.JYV9eBac0h /tmp/tmp.3QPD4LxaqN + return 0 + kubectl_bin wait --for=delete namespace upgrade-partial-backup-21711 ++ mktemp + local LAST_OUT=/tmp/tmp.tN7VJPBysE ++ mktemp + local LAST_ERR=/tmp/tmp.BYNffLPDnu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace upgrade-partial-backup-21711 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tN7VJPBysE + cat /tmp/tmp.BYNffLPDnu + rm /tmp/tmp.tN7VJPBysE /tmp/tmp.BYNffLPDnu + return 0 + desc 'create namespace upgrade-partial-backup-21711' + set +o xtrace ----------------------------------------------------------------------------------- create namespace upgrade-partial-backup-21711 ----------------------------------------------------------------------------------- + kubectl_bin create namespace upgrade-partial-backup-21711 ++ mktemp + local LAST_OUT=/tmp/tmp.AU35dlpBJ5 ++ mktemp + local LAST_ERR=/tmp/tmp.7RB0iCJP4U + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace upgrade-partial-backup-21711 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AU35dlpBJ5 namespace/upgrade-partial-backup-21711 created + cat /tmp/tmp.7RB0iCJP4U + rm /tmp/tmp.AU35dlpBJ5 /tmp/tmp.7RB0iCJP4U + return 0 + set_kube_ctx upgrade-partial-backup-21711 + local namespace=upgrade-partial-backup-21711 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.807EMrLTOu +++ mktemp ++ local LAST_ERR=/tmp/tmp.VravuybNo4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.807EMrLTOu ++ cat /tmp/tmp.VravuybNo4 ++ rm /tmp/tmp.807EMrLTOu /tmp/tmp.VravuybNo4 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14 --namespace=upgrade-partial-backup-21711 ++ mktemp + local LAST_OUT=/tmp/tmp.Pth4U3nTRH ++ mktemp + local LAST_ERR=/tmp/tmp.cQm24Kue7O + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14 --namespace=upgrade-partial-backup-21711 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Pth4U3nTRH Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster14" modified. + cat /tmp/tmp.cQm24Kue7O + rm /tmp/tmp.Pth4U3nTRH /tmp/tmp.cQm24Kue7O + 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-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.NqNE8DugE5 ++ mktemp + local LAST_ERR=/tmp/tmp.Dhwunl4uAD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NqNE8DugE5 secret/some-users created deployment.apps/psmdb-client created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.Dhwunl4uAD + rm /tmp/tmp.NqNE8DugE5 /tmp/tmp.Dhwunl4uAD + return 0 + setup_cluster some-name + local cluster=some-name +++ 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.lsNj9L6VwE ++++ mktemp +++ local LAST_ERR=/tmp/tmp.N1EeectUP8 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lsNj9L6VwE +++ cat /tmp/tmp.N1EeectUP8 +++ rm /tmp/tmp.lsNj9L6VwE /tmp/tmp.N1EeectUP8 +++ return 0 ++ kubectl_bin get pod -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d -o 'jsonpath={.spec.containers[0].image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.lk8nDLIYg1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.dxRSC1Xvog ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pod -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d -o 'jsonpath={.spec.containers[0].image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.lk8nDLIYg1 ++ cat /tmp/tmp.dxRSC1Xvog ++ rm /tmp/tmp.lk8nDLIYg1 /tmp/tmp.dxRSC1Xvog ++ return 0 + local init_image=percona/percona-server-mongodb-operator:1.22.0 + desc 'create PSMDB cluster: some-name' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster: some-name ----------------------------------------------------------------------------------- + get_cluster_gh v1.22.0 + local git_tag=v1.22.0 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/cr.yaml + sed s/my-cluster-name/some-name/g + yq '.spec.initImage="percona/percona-server-mongodb-operator:1.22.0"' + yq '.spec.secrets.users="some-users"' + yq .spec.sharding.enabled=false + yq .spec.backup.pitr.enabled=true + yq .spec.backup.pitr.oplogSpanMin=1 + yq eval $'.spec.backup.storages.gcp-cs = {\n\t\t "type": "s3",\n\t\t "s3": {\n\t\t "bucket": "operator-testing",\n\t\t "prefix": "upgrade-partial-backup",\n\t\t "region": "us-east-1",\n\t\t "credentialsSecret": "gcp-cs-secret",\n\t\t "endpointUrl": "https://storage.googleapis.com"\n\t\t }\n\t\t}' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.SPZdru8lx4 ++ mktemp + local LAST_ERR=/tmp/tmp.ksBZWgZkar + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SPZdru8lx4 perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.ksBZWgZkar + rm /tmp/tmp.SPZdru8lx4 /tmp/tmp.ksBZWgZkar + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kikAqr8AW6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.2Cwo7ne7Ws ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kikAqr8AW6 ++ cat /tmp/tmp.2Cwo7ne7Ws ++ rm /tmp/tmp.kikAqr8AW6 /tmp/tmp.2Cwo7ne7Ws ++ return 0 + [[ false == 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.quiRvFBNe1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.7sHk46Pzx0 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.quiRvFBNe1 ++ cat /tmp/tmp.7sHk46Pzx0 ++ rm /tmp/tmp.quiRvFBNe1 /tmp/tmp.7sHk46Pzx0 ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.k1vbOXr9cN +++ mktemp ++ local LAST_ERR=/tmp/tmp.uAXW0fc2Ov ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.k1vbOXr9cN ++ cat /tmp/tmp.uAXW0fc2Ov ++ rm /tmp/tmp.k1vbOXr9cN /tmp/tmp.uAXW0fc2Ov ++ return 0 + [[ false == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness....... + 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-06-09T11:08: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-06-09T11:09:14.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-06-09T11:09:16.000+0000 I listening for the commands + create_user some-name + local cluster=some-name + log 'create user myApp' + set +o xtrace [2026-06-09T11:09:17+0000] create user myApp + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-21711 mongodb + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dP29r4tJdK +++ mktemp ++ local LAST_ERR=/tmp/tmp.LiQLSDxCX8 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dP29r4tJdK ++ cat /tmp/tmp.LiQLSDxCX8 ++ rm /tmp/tmp.dP29r4tJdK /tmp/tmp.LiQLSDxCX8 ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.Sb13tJCYnm ++ mktemp + local LAST_ERR=/tmp/tmp.MPp6R9SzgQ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Sb13tJCYnm Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("affbde23-5b5a-4349-aa34-745593e9eb17") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.MPp6R9SzgQ + rm /tmp/tmp.Sb13tJCYnm /tmp/tmp.MPp6R9SzgQ + return 0 + write_document some-name 100500 + local cluster=some-name + local x=100500 + log 'write document: 100500' + set +o xtrace [2026-06-09T11:09:20+0000] write document: 100500 + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9c9tSbPGUH +++ mktemp ++ local LAST_ERR=/tmp/tmp.WM87jxclkb ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9c9tSbPGUH ++ cat /tmp/tmp.WM87jxclkb ++ rm /tmp/tmp.9c9tSbPGUH /tmp/tmp.WM87jxclkb ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.ZRQKSYsm0I ++ mktemp + local LAST_ERR=/tmp/tmp.1nSTUBp8d9 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZRQKSYsm0I Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("614c895a-0fa7-4664-8cda-91f4c89a9b94") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.1nSTUBp8d9 + rm /tmp/tmp.ZRQKSYsm0I /tmp/tmp.1nSTUBp8d9 + return 0 + sleep_with_log 3 'wait for data to be replicated' + local d=3 + local 'msg=wait for data to be replicated' + log 'wait for data to be replicated. sleeping for 3 seconds' + set +o xtrace [2026-06-09T11:09:22+0000] wait for data to be replicated. sleeping for 3 seconds + sleep 3 + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T11:09:25+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"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/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bGpu7qlIXf +++ mktemp ++ local LAST_ERR=/tmp/tmp.NrVF004ynC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bGpu7qlIXf ++ cat /tmp/tmp.NrVF004ynC ++ rm /tmp/tmp.bGpu7qlIXf /tmp/tmp.NrVF004ynC ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.vnd8tEuacn ++ mktemp + local LAST_ERR=/tmp/tmp.ZVcS0nyt2g + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vnd8tEuacn + cat /tmp/tmp.ZVcS0nyt2g + rm /tmp/tmp.vnd8tEuacn /tmp/tmp.ZVcS0nyt2g + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/compare/find.json /tmp/tmp.4HCnWXu8Kh/find + upgrade_operator + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.OYWeHxf3Np ++ mktemp + local LAST_ERR=/tmp/tmp.yAMQtp2vko + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OYWeHxf3Np customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.yAMQtp2vko + rm /tmp/tmp.OYWeHxf3Np /tmp/tmp.yAMQtp2vko + 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-2058/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.zZah9t99Lk ++ mktemp + local LAST_ERR=/tmp/tmp.ecus8vWt6t + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zZah9t99Lk clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator configured serviceaccount/percona-server-mongodb-operator unchanged clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.ecus8vWt6t + rm /tmp/tmp.zZah9t99Lk /tmp/tmp.ecus8vWt6t + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187") |\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-2058/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.91zuuVWaiE ++ mktemp + local LAST_ERR=/tmp/tmp.iA0QNIJYFg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.91zuuVWaiE deployment.apps/percona-server-mongodb-operator configured + cat /tmp/tmp.iA0QNIJYFg + rm /tmp/tmp.91zuuVWaiE /tmp/tmp.iA0QNIJYFg + 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.qpumXyBLIr +++ mktemp ++ local LAST_ERR=/tmp/tmp.GPLKKCh2J9 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qpumXyBLIr ++ cat /tmp/tmp.GPLKKCh2J9 ++ rm /tmp/tmp.qpumXyBLIr /tmp/tmp.GPLKKCh2J9 ++ return 0 + wait_operator_pod percona-server-mongodb-operator-67c8d8858f-vpb7d + local pod=percona-server-mongodb-operator-67c8d8858f-vpb7d + set +o xtrace waiting for pod/percona-server-mongodb-operator-67c8d8858f-vpb7d 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.Cpk6OFi5eO +++ mktemp ++ local LAST_ERR=/tmp/tmp.taFavvUccv ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Cpk6OFi5eO ++ cat /tmp/tmp.taFavvUccv ++ rm /tmp/tmp.Cpk6OFi5eO /tmp/tmp.taFavvUccv ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d ++ mktemp + local LAST_OUT=/tmp/tmp.ljLvBToOSU ++ mktemp + local LAST_ERR=/tmp/tmp.1D0RoiEiuP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-67c8d8858f-vpb7d + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ljLvBToOSU + cat /tmp/tmp.1D0RoiEiuP + rm /tmp/tmp.ljLvBToOSU /tmp/tmp.1D0RoiEiuP + return 0 2026-06-09T11:06:55.516Z INFO setup Manager starting up {"gitCommit": "1fc1e8b4e5640f83f0b5b71e0f25d8bbec82caf6", "gitBranch": "release-1-22-0", "buildTime": "", "goVersion": "go1.25.7", "os": "linux", "arch": "amd64"} + test_backups some-name + local cluster=some-name + desc 'prepare backups' + set +o xtrace ----------------------------------------------------------------------------------- prepare backups ----------------------------------------------------------------------------------- + run_backup some-name backup-minio logical + local cluster=some-name + local name=backup-minio + local type=logical + local storage=gcp-cs + log 'run backup backup-minio-logical storage: gcp-cs' + set +o xtrace [2026-06-09T11:10:02+0000] run backup backup-minio-logical storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/backup.yml + /usr/sbin/sed -e 's/clusterName:/clusterName: some-name/' + /usr/sbin/sed -e 's/storageName:/storageName: gcp-cs/' + /usr/sbin/sed -e 's/type:/type: logical/' + /usr/sbin/sed -e 's/name:/name: backup-minio-logical/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.1aWymZ6de6 ++ mktemp + local LAST_ERR=/tmp/tmp.bSP1SLmSrv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1aWymZ6de6 perconaservermongodbbackup.psmdb.percona.com/backup-minio-logical created + cat /tmp/tmp.bSP1SLmSrv + rm /tmp/tmp.1aWymZ6de6 /tmp/tmp.bSP1SLmSrv + return 0 + wait_backup backup-minio-logical + local backup_name=backup-minio-logical + local target_state=ready + set +o xtrace waiting for backup-minio-logical to reach ready state..................OK + sleep_with_log 70 'wait for oplog chunks to be uploaded' + local d=70 + local 'msg=wait for oplog chunks to be uploaded' + log 'wait for oplog chunks to be uploaded. sleeping for 70 seconds' + set +o xtrace [2026-06-09T11:10:39+0000] wait for oplog chunks to be uploaded. sleeping for 70 seconds + sleep 70 + run_backup some-name backup-minio incremental-base + local cluster=some-name + local name=backup-minio + local type=incremental-base + local storage=gcp-cs + log 'run backup backup-minio-incremental-base storage: gcp-cs' + set +o xtrace [2026-06-09T11:11:49+0000] run backup backup-minio-incremental-base storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/backup.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-incremental-base/' + /usr/sbin/sed -e 's/clusterName:/clusterName: some-name/' + /usr/sbin/sed -e 's/storageName:/storageName: gcp-cs/' + /usr/sbin/sed -e 's/type:/type: incremental-base/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.BCVCYk1goL ++ mktemp + local LAST_ERR=/tmp/tmp.QtzBLBv56h + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BCVCYk1goL perconaservermongodbbackup.psmdb.percona.com/backup-minio-incremental-base created + cat /tmp/tmp.QtzBLBv56h + rm /tmp/tmp.BCVCYk1goL /tmp/tmp.QtzBLBv56h + return 0 + wait_backup backup-minio-incremental-base + local backup_name=backup-minio-incremental-base + local target_state=ready + set +o xtrace waiting for backup-minio-incremental-base to reach ready state..............OK + log 'write data for PiTR' + set +o xtrace [2026-06-09T11:12:19+0000] write data for PiTR + write_document some-name 100501 + local cluster=some-name + local x=100501 + log 'write document: 100501' + set +o xtrace [2026-06-09T11:12:19+0000] write document: 100501 + run_mongo 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.O0klodUz9s +++ mktemp ++ local LAST_ERR=/tmp/tmp.U3V9rfsMhn ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.O0klodUz9s ++ cat /tmp/tmp.U3V9rfsMhn ++ rm /tmp/tmp.O0klodUz9s /tmp/tmp.U3V9rfsMhn ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.9aCcPLWwDp ++ mktemp + local LAST_ERR=/tmp/tmp.b8mQkBXULm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9aCcPLWwDp Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("f2d3ca21-253b-476d-b230-d2180bdbb8c6") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.b8mQkBXULm + rm /tmp/tmp.9aCcPLWwDp /tmp/tmp.b8mQkBXULm + return 0 + write_document some-name 100502 + local cluster=some-name + local x=100502 + log 'write document: 100502' + set +o xtrace [2026-06-09T11:12:21+0000] write document: 100502 + run_mongo 'use myApp\n db.test.insert({ x: 100502 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb + local 'command=use myApp\n db.test.insert({ x: 100502 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xlSRDwiQN3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.s1xfOoUZ25 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xlSRDwiQN3 ++ cat /tmp/tmp.s1xfOoUZ25 ++ rm /tmp/tmp.xlSRDwiQN3 /tmp/tmp.s1xfOoUZ25 ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100502 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.AezAyXLVqA ++ mktemp + local LAST_ERR=/tmp/tmp.EMZncnvTC0 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100502 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AezAyXLVqA Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("0f0cd96f-582f-440a-bdc8-832f51ef26b5") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.EMZncnvTC0 + rm /tmp/tmp.AezAyXLVqA /tmp/tmp.EMZncnvTC0 + return 0 + write_document some-name 100503 + local cluster=some-name + local x=100503 + log 'write document: 100503' + set +o xtrace [2026-06-09T11:12:24+0000] write document: 100503 + run_mongo 'use myApp\n db.test.insert({ x: 100503 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb + local 'command=use myApp\n db.test.insert({ x: 100503 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.iAd8Ak0g0i +++ mktemp ++ local LAST_ERR=/tmp/tmp.JXE9ev3BOa ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.iAd8Ak0g0i ++ cat /tmp/tmp.JXE9ev3BOa ++ rm /tmp/tmp.iAd8Ak0g0i /tmp/tmp.JXE9ev3BOa ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100503 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.jleNxUFAbp ++ mktemp + local LAST_ERR=/tmp/tmp.7OOLBqzjjC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100503 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jleNxUFAbp Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("43d698a7-5f81-4584-af8b-384ddfd9fcee") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.7OOLBqzjjC + rm /tmp/tmp.jleNxUFAbp /tmp/tmp.7OOLBqzjjC + return 0 + sleep_with_log 70 'wait for oplog chunks to be uploaded' + local d=70 + local 'msg=wait for oplog chunks to be uploaded' + log 'wait for oplog chunks to be uploaded. sleeping for 70 seconds' + set +o xtrace [2026-06-09T11:12:27+0000] wait for oplog chunks to be uploaded. sleeping for 70 seconds + sleep 70 + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local postfix=-2nd + local suffix=.svc.cluster.local + local database=myApp + local collection=test + local 'sort=sort( { x: 1 } )' + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n sort( { x: 1 } ) ]] + full_command='db.test.find().sort( { x: 1 } )' + log 'running db.test.find().sort( { x: 1 } ) in myApp' + set +o xtrace [2026-06-09T11:13:37+0000] running db.test.find().sort( { x: 1 } ) in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find().sort( { x: 1 } )' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb .svc.cluster.local '' + local 'command=use myApp\n db.test.find().sort( { x: 1 } )' + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"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 uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.M2hXmAuWO1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Gkw83LOlhO ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.M2hXmAuWO1 ++ cat /tmp/tmp.Gkw83LOlhO ++ rm /tmp/tmp.M2hXmAuWO1 /tmp/tmp.Gkw83LOlhO ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.hoWt7blQ2E ++ mktemp + local LAST_ERR=/tmp/tmp.tS8difhnu9 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hoWt7blQ2E + cat /tmp/tmp.tS8difhnu9 + rm /tmp/tmp.hoWt7blQ2E /tmp/tmp.tS8difhnu9 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.4HCnWXu8Kh/find-2nd + log 'PiTR data is ready: OK' + set +o xtrace [2026-06-09T11:13:40+0000] PiTR data is ready: OK + run_backup some-name backup-minio incremental + local cluster=some-name + local name=backup-minio + local type=incremental + local storage=gcp-cs + log 'run backup backup-minio-incremental storage: gcp-cs' + set +o xtrace [2026-06-09T11:13:40+0000] run backup backup-minio-incremental storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/backup.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-incremental/' + /usr/sbin/sed -e 's/clusterName:/clusterName: some-name/' + /usr/sbin/sed -e 's/storageName:/storageName: gcp-cs/' + /usr/sbin/sed -e 's/type:/type: incremental/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.qFme4DY9c7 ++ mktemp + local LAST_ERR=/tmp/tmp.7wReI2PuaV + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qFme4DY9c7 perconaservermongodbbackup.psmdb.percona.com/backup-minio-incremental created + cat /tmp/tmp.7wReI2PuaV + rm /tmp/tmp.qFme4DY9c7 /tmp/tmp.7wReI2PuaV + return 0 + wait_backup backup-minio-incremental + local backup_name=backup-minio-incremental + local target_state=ready + set +o xtrace waiting for backup-minio-incremental to reach ready state.........OK + desc 'Backups are ready: OK' + set +o xtrace ----------------------------------------------------------------------------------- Backups are ready: OK ----------------------------------------------------------------------------------- + test_logical_restore some-name + local cluster=some-name + desc 'Testing logical restore with PiTR' + set +o xtrace ----------------------------------------------------------------------------------- Testing logical restore with PiTR ----------------------------------------------------------------------------------- +++ 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.85PbXrKpvs +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.59K2TJuL7M ++++ local exit_status=0 ++++ local timeout=4 +++++ seq 0 2 ++++ for i in $(seq 0 2) ++++ set +e ++++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ exit_status=0 ++++ set -e ++++ '[' 0 '!=' 0 -a -n 1 ']' ++++ break ++++ cat /tmp/tmp.85PbXrKpvs ++++ cat /tmp/tmp.59K2TJuL7M ++++ rm /tmp/tmp.85PbXrKpvs /tmp/tmp.59K2TJuL7M ++++ return 0 +++ first_timestamp=1781003635 +++ sleep 5 +++ [[ 1781003635 != '' ]] +++ [[ 1781003635 != 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.IK5g7Kug5a +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.0qobME9Smm ++++ local exit_status=0 ++++ local timeout=4 +++++ seq 0 2 ++++ for i in $(seq 0 2) ++++ set +e ++++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ exit_status=0 ++++ set -e ++++ '[' 0 '!=' 0 -a -n 1 ']' ++++ break ++++ cat /tmp/tmp.IK5g7Kug5a ++++ cat /tmp/tmp.0qobME9Smm ++++ rm /tmp/tmp.IK5g7Kug5a /tmp/tmp.0qobME9Smm ++++ return 0 +++ second_timestamp=1781003635 +++ let retry+=1 +++ [[ 1 -gt 30 ]] +++ [[ 1781003635 != '' ]] +++ [[ 1781003635 != null ]] +++ [[ 1781003635 == 1781003635 ]] +++ /usr/sbin/date -u -d @1781003635 +%Y-%m-%dT%H:%M:%SZ ++ format_pitr_target 2026-06-09T11:13:55Z ++ local target=2026-06-09T11:13:55Z ++ echo 2026-06-09T11:13:55Z ++ sed 's/T/ /' ++ sed s/Z// + local 'pitr_target=2026-06-09 11:13:55' + log 'dropping collection: myApp.test' + set +o xtrace [2026-06-09T11:14:06+0000] dropping collection: myApp.test + run_mongo 'use myApp\n db.test.drop()' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VxTNp0RLPL +++ mktemp ++ local LAST_ERR=/tmp/tmp.n29rPUSoRh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VxTNp0RLPL ++ cat /tmp/tmp.n29rPUSoRh ++ rm /tmp/tmp.VxTNp0RLPL /tmp/tmp.n29rPUSoRh ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.picK61Bb1y ++ mktemp + local LAST_ERR=/tmp/tmp.N9KQ9MpkmE + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.picK61Bb1y Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-2.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("68132afe-32b3-47c0-92ca-870b1a35b08c") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.N9KQ9MpkmE + rm /tmp/tmp.picK61Bb1y /tmp/tmp.N9KQ9MpkmE + return 0 + log 'PiTR target is 2026-06-09 11:13:55' + set +o xtrace [2026-06-09T11:14:08+0000] PiTR target is 2026-06-09 11:13:55 + run_restore some-name backup-minio-logical '2026-06-09 11:13:55' + local cluster=some-name + local backup_name=backup-minio-logical + local 'pitr_target=2026-06-09 11:13:55' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-logical/' + /usr/sbin/sed -e 's/clusterName:/clusterName: some-name/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio-logical/' + [[ -n 2026-06-09 11:13:55 ]] + target='2026-06-09 11:13:55' + yq -i eval '.spec.pitr = {"type": "date", "date": strenv(target)}' /tmp/tmp.4HCnWXu8Kh/restore.yml + kubectl_bin apply -f /tmp/tmp.4HCnWXu8Kh/restore.yml ++ mktemp + local LAST_OUT=/tmp/tmp.v1uxeR6BrA ++ mktemp + local LAST_ERR=/tmp/tmp.cy9JYT1g6r + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /tmp/tmp.4HCnWXu8Kh/restore.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v1uxeR6BrA perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-logical created + cat /tmp/tmp.cy9JYT1g6r + rm /tmp/tmp.v1uxeR6BrA /tmp/tmp.cy9JYT1g6r + return 0 + wait_restore backup-minio-logical some-name ready + local backup_name=backup-minio-logical + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=1 + local wait_time=1780 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-logical object to be created.OK Waiting psmdb-restore/restore-backup-minio-logical to reach state "ready" .OK after 0 minutes + [[ 1 -eq 1 ]] + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.omjxzUlfp3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.5aHTVoYuRN ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.omjxzUlfp3 ++ cat /tmp/tmp.5aHTVoYuRN ++ rm /tmp/tmp.omjxzUlfp3 /tmp/tmp.5aHTVoYuRN ++ return 0 + [[ ready == ready ]] + echo .OK .OK + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local postfix=-2nd + local suffix=.svc.cluster.local + local database=myApp + local collection=test + local 'sort=sort( { x: 1 } )' + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n sort( { x: 1 } ) ]] + full_command='db.test.find().sort( { x: 1 } )' + log 'running db.test.find().sort( { x: 1 } ) in myApp' + set +o xtrace [2026-06-09T11:14:51+0000] running db.test.find().sort( { x: 1 } ) in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find().sort( { x: 1 } )' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb .svc.cluster.local '' + local 'command=use myApp\n db.test.find().sort( { x: 1 } )' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"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/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JQ8TpMOChN +++ mktemp ++ local LAST_ERR=/tmp/tmp.LtqLxlH29W ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JQ8TpMOChN ++ cat /tmp/tmp.LtqLxlH29W ++ rm /tmp/tmp.JQ8TpMOChN /tmp/tmp.LtqLxlH29W ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.TfvdtH13GX ++ mktemp + local LAST_ERR=/tmp/tmp.Peeb68v20q + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TfvdtH13GX + cat /tmp/tmp.Peeb68v20q + rm /tmp/tmp.TfvdtH13GX /tmp/tmp.Peeb68v20q + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.4HCnWXu8Kh/find-2nd + log 'Data is restored successfully: OK' + set +o xtrace [2026-06-09T11:14:53+0000] Data is restored successfully: OK + desc 'Logical restore is ready: OK' + set +o xtrace ----------------------------------------------------------------------------------- Logical restore is ready: OK ----------------------------------------------------------------------------------- + test_incremental_restore some-name + local cluster=some-name + desc 'Testing incremental restore with PiTR' + set +o xtrace ----------------------------------------------------------------------------------- Testing incremental restore with PiTR ----------------------------------------------------------------------------------- + log 'dropping collection: myApp.test' + set +o xtrace [2026-06-09T11:14:53+0000] dropping collection: myApp.test + run_mongo 'use myApp\n db.test.drop()' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fZd84q4gIJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.Innv0f390H ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fZd84q4gIJ ++ cat /tmp/tmp.Innv0f390H ++ rm /tmp/tmp.fZd84q4gIJ /tmp/tmp.Innv0f390H ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.NKG5gV9nUM ++ mktemp + local LAST_ERR=/tmp/tmp.avMGgWzSdy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NKG5gV9nUM Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-1.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("2e375555-0b93-461b-a6a1-1e4f68c1302c") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.avMGgWzSdy + rm /tmp/tmp.NKG5gV9nUM /tmp/tmp.avMGgWzSdy + return 0 + run_restore some-name backup-minio-incremental + local cluster=some-name + local backup_name=backup-minio-incremental + local pitr_target= + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio-incremental/' + /usr/sbin/sed -e 's/clusterName:/clusterName: some-name/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio-incremental/' + [[ -n '' ]] + kubectl_bin apply -f /tmp/tmp.4HCnWXu8Kh/restore.yml ++ mktemp + local LAST_OUT=/tmp/tmp.8KgqinDJUX ++ mktemp + local LAST_ERR=/tmp/tmp.jyzEu0Ft8p + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /tmp/tmp.4HCnWXu8Kh/restore.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8KgqinDJUX perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-incremental created + cat /tmp/tmp.jyzEu0Ft8p + rm /tmp/tmp.8KgqinDJUX /tmp/tmp.jyzEu0Ft8p + return 0 + wait_restore backup-minio-incremental some-name ready + local backup_name=backup-minio-incremental + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=1 + local wait_time=1780 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio-incremental object to be created.OK Waiting psmdb-restore/restore-backup-minio-incremental to reach state "ready" ....OK after 3 minutes + [[ 1 -eq 1 ]] + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HXXgMUvDsV +++ mktemp ++ local LAST_ERR=/tmp/tmp.HzJYIH8lHB ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HXXgMUvDsV ++ cat /tmp/tmp.HzJYIH8lHB ++ rm /tmp/tmp.HXXgMUvDsV /tmp/tmp.HzJYIH8lHB ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.lp4tzVWW58 +++ mktemp ++ local LAST_ERR=/tmp/tmp.f7dHQYP9iV ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.lp4tzVWW58 ++ cat /tmp/tmp.f7dHQYP9iV ++ rm /tmp/tmp.lp4tzVWW58 /tmp/tmp.f7dHQYP9iV ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zoZDAb4THb +++ mktemp ++ local LAST_ERR=/tmp/tmp.JL8sKu3XTq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zoZDAb4THb ++ cat /tmp/tmp.JL8sKu3XTq ++ rm /tmp/tmp.zoZDAb4THb /tmp/tmp.JL8sKu3XTq ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 3 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7XgvmqMlab +++ mktemp ++ local LAST_ERR=/tmp/tmp.0AL2X5CiIh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7XgvmqMlab ++ cat /tmp/tmp.0AL2X5CiIh ++ rm /tmp/tmp.7XgvmqMlab /tmp/tmp.0AL2X5CiIh ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 4 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ydpmDQKs9e +++ mktemp ++ local LAST_ERR=/tmp/tmp.76xEXnScws ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ydpmDQKs9e ++ cat /tmp/tmp.76xEXnScws ++ rm /tmp/tmp.ydpmDQKs9e /tmp/tmp.76xEXnScws ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 5 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CSOlWkBuC8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.G83lGLKVyX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CSOlWkBuC8 ++ cat /tmp/tmp.G83lGLKVyX ++ rm /tmp/tmp.CSOlWkBuC8 /tmp/tmp.G83lGLKVyX ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 6 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kkmhbEzsBI +++ mktemp ++ local LAST_ERR=/tmp/tmp.zUyJdJzoyr ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kkmhbEzsBI ++ cat /tmp/tmp.zUyJdJzoyr ++ rm /tmp/tmp.kkmhbEzsBI /tmp/tmp.zUyJdJzoyr ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 7 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.m3aRSvxncC +++ mktemp ++ local LAST_ERR=/tmp/tmp.eGPLQYXOQC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.m3aRSvxncC ++ cat /tmp/tmp.eGPLQYXOQC ++ rm /tmp/tmp.m3aRSvxncC /tmp/tmp.eGPLQYXOQC ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 8 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.j2yQ8lLEmZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.ENODgVUyuR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.j2yQ8lLEmZ ++ cat /tmp/tmp.ENODgVUyuR ++ rm /tmp/tmp.j2yQ8lLEmZ /tmp/tmp.ENODgVUyuR ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 9 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bLdal52dgC +++ mktemp ++ local LAST_ERR=/tmp/tmp.f7x0fow8C0 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bLdal52dgC ++ cat /tmp/tmp.f7x0fow8C0 ++ rm /tmp/tmp.bLdal52dgC /tmp/tmp.f7x0fow8C0 ++ return 0 + [[ ready == ready ]] + echo .OK .OK + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local postfix=-2nd + local suffix=.svc.cluster.local + local database=myApp + local collection=test + local 'sort=sort( { x: 1 } )' + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n sort( { x: 1 } ) ]] + full_command='db.test.find().sort( { x: 1 } )' + log 'running db.test.find().sort( { x: 1 } ) in myApp' + set +o xtrace [2026-06-09T11:20:43+0000] running db.test.find().sort( { x: 1 } ) in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find().sort( { x: 1 } )' myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 mongodb .svc.cluster.local '' + local 'command=use myApp\n db.test.find().sort( { x: 1 } )' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-21711 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"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/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bGyoFrBcLN +++ mktemp ++ local LAST_ERR=/tmp/tmp.k6Iev8VIXP ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bGyoFrBcLN ++ cat /tmp/tmp.k6Iev8VIXP ++ rm /tmp/tmp.bGyoFrBcLN /tmp/tmp.k6Iev8VIXP ++ return 0 + local client_container=psmdb-client-bb8b97679-rv8xv + kubectl_bin exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.AC06ZV60RN ++ mktemp + local LAST_ERR=/tmp/tmp.UqWZ38HnuK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rv8xv -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-21711.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AC06ZV60RN + cat /tmp/tmp.UqWZ38HnuK + rm /tmp/tmp.AC06ZV60RN /tmp/tmp.UqWZ38HnuK + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.4HCnWXu8Kh/find-2nd + log 'Data is restored successfully: OK' + set +o xtrace [2026-06-09T11:20:46+0000] Data is restored successfully: OK + desc 'Incremental restore is ready: OK' + set +o xtrace ----------------------------------------------------------------------------------- Incremental restore is ready: OK ----------------------------------------------------------------------------------- + test_backup_deletion some-name + local cluster=some-name ++ get_backup_dest backup-minio-incremental-base ++ local backup_name=backup-minio-incremental-base ++ kubectl_bin get psmdb-backup backup-minio-incremental-base -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' ++ sed 's|azure://||' ++ sed 's|gs://||' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ne7VH1Sfgi +++ mktemp ++ local LAST_ERR=/tmp/tmp.5p4mrDmIbN ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-incremental-base -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ne7VH1Sfgi ++ cat /tmp/tmp.5p4mrDmIbN ++ rm /tmp/tmp.ne7VH1Sfgi /tmp/tmp.5p4mrDmIbN ++ return 0 + local incremental_base_dest=operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z ++ get_backup_dest backup-minio-logical ++ local backup_name=backup-minio-logical ++ kubectl_bin get psmdb-backup backup-minio-logical -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' ++ sed 's|azure://||' ++ sed 's|gs://||' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VHUPU2h3GC +++ mktemp ++ local LAST_ERR=/tmp/tmp.iO6fkYlmqU ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio-logical -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VHUPU2h3GC ++ cat /tmp/tmp.iO6fkYlmqU ++ rm /tmp/tmp.VHUPU2h3GC /tmp/tmp.iO6fkYlmqU ++ return 0 + local logical_dest=operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z + kubectl_bin delete psmdb-backup backup-minio-incremental-base ++ mktemp + local LAST_OUT=/tmp/tmp.GFAzGtBSX3 ++ mktemp + local LAST_ERR=/tmp/tmp.6dCUxf7Sjw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb-backup backup-minio-incremental-base + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GFAzGtBSX3 perconaservermongodbbackup.psmdb.percona.com "backup-minio-incremental-base" deleted from upgrade-partial-backup-21711 namespace + cat /tmp/tmp.6dCUxf7Sjw + rm /tmp/tmp.GFAzGtBSX3 /tmp/tmp.6dCUxf7Sjw + return 0 + check_backup_deletion_gcs operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z + backup_dest_gcp=operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z + obj= + storage_name=gcp-cs + retry=0 + gcs_path=gs://operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z + gsutil ls gs://operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z + echo 'Backup gs://operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z not found in gcp-cs' Backup gs://operator-testing/upgrade-partial-backup/2026-06-09T11:11:52Z not found in gcp-cs + log 'disabling PiTR on some-name' + set +o xtrace [2026-06-09T11:20:54+0000] disabling PiTR on some-name + kubectl_bin patch psmdb some-name --type=merge --patch '{"spec": {"backup": {"pitr": {"enabled": false}}}}' ++ mktemp + local LAST_OUT=/tmp/tmp.1AHl0VPBDa ++ mktemp + local LAST_ERR=/tmp/tmp.B9TRjQmYvd + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb some-name --type=merge --patch '{"spec": {"backup": {"pitr": {"enabled": false}}}}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1AHl0VPBDa perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.B9TRjQmYvd + rm /tmp/tmp.1AHl0VPBDa /tmp/tmp.B9TRjQmYvd + return 0 + kubectl_bin delete psmdb-backup backup-minio-logical ++ mktemp + local LAST_OUT=/tmp/tmp.soVIZac4jf ++ mktemp + local LAST_ERR=/tmp/tmp.o6OoFjs6cy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb-backup backup-minio-logical + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.soVIZac4jf perconaservermongodbbackup.psmdb.percona.com "backup-minio-logical" deleted from upgrade-partial-backup-21711 namespace + cat /tmp/tmp.o6OoFjs6cy + rm /tmp/tmp.soVIZac4jf /tmp/tmp.o6OoFjs6cy + return 0 + check_backup_deletion_gcs operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z + backup_dest_gcp=operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z + obj= + storage_name=gcp-cs + retry=0 + gcs_path=gs://operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z + gsutil ls gs://operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z + echo 'Backup gs://operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z not found in gcp-cs' Backup gs://operator-testing/upgrade-partial-backup/2026-06-09T11:10:28Z not found in gcp-cs + desc 'Backups are deleted: OK' + set +o xtrace ----------------------------------------------------------------------------------- Backups are deleted: OK ----------------------------------------------------------------------------------- + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- + destroy upgrade-partial-backup-21711 + local namespace=upgrade-partial-backup-21711 + local ignore_logs=true + [[ 1 == 1 ]] + echo 'SKIP_DELETE=1, not destroying upgrade-partial-backup-21711' SKIP_DELETE=1, not destroying upgrade-partial-backup-21711 + return