Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/logs/upgrade-partial-backup.log Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 + '[' -n '' ']' + CLUSTER=some-name + BACKUP_NAME_MINIO=backup-minio + TARGET_OPERATOR_VER=1.22.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\.22\.0 ]] ++ curl -s https://check.percona.com/versions/v1/psmdb-operator ++ jq -r '.versions[].operator' ++ sort -V ++ tail -n2 ++ head -n1 + INIT_OPERATOR_VER=1.21.2 + GIT_TAG=v1.21.2 + setup_infra + create_infra_gh_release upgrade-partial-backup-16027 v1.21.2 + local ns=upgrade-partial-backup-16027 + local git_tag=v1.21.2 + check_crd_for_deletion v1.21.2 + local git_tag=v1.21.2 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.21.2/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.TnOwGjyPEa +++ mktemp ++ local LAST_ERR=/tmp/tmp.Xjft7c7h3j ++ 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.TnOwGjyPEa ++ cat /tmp/tmp.Xjft7c7h3j ++ rm /tmp/tmp.TnOwGjyPEa /tmp/tmp.Xjft7c7h3j ++ 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.UZH07hDFne +++ mktemp ++ local LAST_ERR=/tmp/tmp.1a74BaTkuz ++ 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.UZH07hDFne ++ cat /tmp/tmp.1a74BaTkuz ++ rm /tmp/tmp.UZH07hDFne /tmp/tmp.1a74BaTkuz ++ 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.sP8CDR9xoX +++ mktemp ++ local LAST_ERR=/tmp/tmp.zpi1VwqPnN ++ 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.sP8CDR9xoX ++ cat /tmp/tmp.zpi1VwqPnN ++ rm /tmp/tmp.sP8CDR9xoX /tmp/tmp.zpi1VwqPnN ++ 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 + : ++ grep chaos-mesh ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ 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}' + xargs kubectl delete ns + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.58UVIUgTAH + local LAST_OUT=/tmp/tmp.M4E2azAT8O ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.lvFKf4tA83 + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.njynprBEBe + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.M4E2azAT8O + cat /tmp/tmp.njynprBEBe + rm /tmp/tmp.M4E2azAT8O /tmp/tmp.njynprBEBe + return 0 namespace "upgrade-partial-backup-27189" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.58UVIUgTAH namespace "psmdb-operator" deleted + cat /tmp/tmp.lvFKf4tA83 + rm /tmp/tmp.58UVIUgTAH /tmp/tmp.lvFKf4tA83 + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.LlbPjVFWvn ++ mktemp + local LAST_ERR=/tmp/tmp.QRnnzqId8M + 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.LlbPjVFWvn + cat /tmp/tmp.QRnnzqId8M + rm /tmp/tmp.LlbPjVFWvn /tmp/tmp.QRnnzqId8M + 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.4cH08tDg0Z ++ mktemp + local LAST_ERR=/tmp/tmp.A8tRFrIBNy + 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.4cH08tDg0Z namespace/psmdb-operator created + cat /tmp/tmp.A8tRFrIBNy + rm /tmp/tmp.4cH08tDg0Z /tmp/tmp.A8tRFrIBNy + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.OXpM8f67qx +++ mktemp ++ local LAST_ERR=/tmp/tmp.aVbXNe9ooE ++ 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.OXpM8f67qx ++ cat /tmp/tmp.aVbXNe9ooE ++ rm /tmp/tmp.OXpM8f67qx /tmp/tmp.aVbXNe9ooE ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2315-83c87ceca-2-cluster13 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.1FYXJYckzB ++ mktemp + local LAST_ERR=/tmp/tmp.FghrwKkybw + 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-2315-83c87ceca-2-cluster13 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1FYXJYckzB Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2315-83c87ceca-2-cluster13" modified. + cat /tmp/tmp.FghrwKkybw + rm /tmp/tmp.1FYXJYckzB /tmp/tmp.FghrwKkybw + return 0 + deploy_operator_gh_release v1.21.2 + local git_tag=v1.21.2 + desc 'start operator v1.21.2' + set +o xtrace ----------------------------------------------------------------------------------- start operator v1.21.2 ----------------------------------------------------------------------------------- + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.21.2/deploy/crd.yaml --server-side ++ mktemp + local LAST_OUT=/tmp/tmp.mqISRCTaso ++ mktemp + local LAST_ERR=/tmp/tmp.eZVw7tIYSa + 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.21.2/deploy/crd.yaml --server-side + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mqISRCTaso 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.eZVw7tIYSa + rm /tmp/tmp.mqISRCTaso /tmp/tmp.eZVw7tIYSa + 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.21.2/deploy/cw-rbac.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.1xBUKPD0sa ++ mktemp + local LAST_ERR=/tmp/tmp.FIWrd7qMqI + 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.21.2/deploy/cw-rbac.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1xBUKPD0sa 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.FIWrd7qMqI + rm /tmp/tmp.1xBUKPD0sa /tmp/tmp.FIWrd7qMqI + return 0 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.21.2/deploy/cw-operator.yaml + yq eval $'\n\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /tmp/tmp.FoYKpRPdCt/cw-operator_v1.21.2.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.6mWf32sdex ++ mktemp + local LAST_ERR=/tmp/tmp.VUytsxfj1h + 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.6mWf32sdex deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.VUytsxfj1h + rm /tmp/tmp.6mWf32sdex /tmp/tmp.VUytsxfj1h + 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.J8e5azzPUU +++ mktemp ++ local LAST_ERR=/tmp/tmp.OyAI4nQYuS ++ 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.J8e5azzPUU ++ cat /tmp/tmp.OyAI4nQYuS ++ rm /tmp/tmp.J8e5azzPUU /tmp/tmp.OyAI4nQYuS ++ return 0 + wait_operator_pod percona-server-mongodb-operator-78597c97f4-srqn9 + local pod=percona-server-mongodb-operator-78597c97f4-srqn9 + set +o xtrace waiting for pod/percona-server-mongodb-operator-78597c97f4-srqn9 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.hjrQMnqWbN +++ mktemp ++ local LAST_ERR=/tmp/tmp.Q9SA8SjPmG ++ 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.hjrQMnqWbN ++ cat /tmp/tmp.Q9SA8SjPmG ++ rm /tmp/tmp.hjrQMnqWbN /tmp/tmp.Q9SA8SjPmG ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-78597c97f4-srqn9 ++ mktemp + local LAST_OUT=/tmp/tmp.qS9tWjlhB1 ++ mktemp + local LAST_ERR=/tmp/tmp.3nRpXCXm4A + 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-78597c97f4-srqn9 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qS9tWjlhB1 + cat /tmp/tmp.3nRpXCXm4A + rm /tmp/tmp.qS9tWjlhB1 /tmp/tmp.3nRpXCXm4A + return 0 2026-04-16T06:16:55.489Z INFO setup Manager starting up {"gitCommit": "320a5bc58b6c6b01450b8a284f5021948c3ad044", "gitBranch": "release-1-21-2", "buildTime": "", "goVersion": "go1.25.5", "os": "linux", "arch": "amd64"} + create_namespace upgrade-partial-backup-16027 + local namespace=upgrade-partial-backup-16027 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' ++ mktemp + desc 'cleaned up old namespaces upgrade-partial-backup-16027' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces upgrade-partial-backup-16027 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace upgrade-partial-backup-16027 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.SkDlEGrUO4 ++ mktemp + local LAST_OUT=/tmp/tmp.BpE4aJd1aZ ++ mktemp + local LAST_ERR=/tmp/tmp.sjNzzIN5MN + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.OVDEcLTiOe + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace upgrade-partial-backup-16027 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SkDlEGrUO4 + cat /tmp/tmp.sjNzzIN5MN + rm /tmp/tmp.SkDlEGrUO4 /tmp/tmp.sjNzzIN5MN + 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.BpE4aJd1aZ + cat /tmp/tmp.OVDEcLTiOe + rm /tmp/tmp.BpE4aJd1aZ /tmp/tmp.OVDEcLTiOe + return 0 + kubectl_bin wait --for=delete namespace upgrade-partial-backup-16027 ++ mktemp + local LAST_OUT=/tmp/tmp.2s8cFslAVV ++ mktemp + local LAST_ERR=/tmp/tmp.n3I8dqosPm + 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-16027 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2s8cFslAVV + cat /tmp/tmp.n3I8dqosPm + rm /tmp/tmp.2s8cFslAVV /tmp/tmp.n3I8dqosPm + return 0 + desc 'create namespace upgrade-partial-backup-16027' + set +o xtrace ----------------------------------------------------------------------------------- create namespace upgrade-partial-backup-16027 ----------------------------------------------------------------------------------- + kubectl_bin create namespace upgrade-partial-backup-16027 ++ mktemp + local LAST_OUT=/tmp/tmp.g5MtqeH3Ro ++ mktemp + local LAST_ERR=/tmp/tmp.YAoyNADBzh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace upgrade-partial-backup-16027 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g5MtqeH3Ro namespace/upgrade-partial-backup-16027 created + cat /tmp/tmp.YAoyNADBzh + rm /tmp/tmp.g5MtqeH3Ro /tmp/tmp.YAoyNADBzh + return 0 + set_kube_ctx upgrade-partial-backup-16027 + local namespace=upgrade-partial-backup-16027 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.7dHNsj87DK +++ mktemp ++ local LAST_ERR=/tmp/tmp.0APILoL0g1 ++ 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.7dHNsj87DK ++ cat /tmp/tmp.0APILoL0g1 ++ rm /tmp/tmp.7dHNsj87DK /tmp/tmp.0APILoL0g1 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2315-83c87ceca-2-cluster13 --namespace=upgrade-partial-backup-16027 ++ mktemp + local LAST_OUT=/tmp/tmp.DwxwQFkdWV ++ mktemp + local LAST_ERR=/tmp/tmp.oeLN91zZo4 + 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-2315-83c87ceca-2-cluster13 --namespace=upgrade-partial-backup-16027 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DwxwQFkdWV Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2315-83c87ceca-2-cluster13" modified. + cat /tmp/tmp.oeLN91zZo4 + rm /tmp/tmp.DwxwQFkdWV /tmp/tmp.oeLN91zZo4 + 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-2315/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.eYIfWHw7Fx ++ mktemp + local LAST_ERR=/tmp/tmp.PdVXCznCMZ + 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-2315/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.eYIfWHw7Fx secret/some-users created deployment.apps/psmdb-client created secret/aws-s3-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.PdVXCznCMZ + rm /tmp/tmp.eYIfWHw7Fx /tmp/tmp.PdVXCznCMZ + 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.jHtAiFAgMO ++++ mktemp +++ local LAST_ERR=/tmp/tmp.YF7fy71zrK +++ 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.jHtAiFAgMO +++ cat /tmp/tmp.YF7fy71zrK +++ rm /tmp/tmp.jHtAiFAgMO /tmp/tmp.YF7fy71zrK +++ return 0 ++ kubectl_bin get pod -n psmdb-operator percona-server-mongodb-operator-78597c97f4-srqn9 -o 'jsonpath={.spec.containers[0].image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HnjNckFLiU +++ mktemp ++ local LAST_ERR=/tmp/tmp.pWhDkJNWEl ++ 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-78597c97f4-srqn9 -o 'jsonpath={.spec.containers[0].image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HnjNckFLiU ++ cat /tmp/tmp.pWhDkJNWEl ++ rm /tmp/tmp.HnjNckFLiU /tmp/tmp.pWhDkJNWEl ++ return 0 + local init_image=percona/percona-server-mongodb-operator:1.21.2 + desc 'create PSMDB cluster: some-name' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster: some-name ----------------------------------------------------------------------------------- + get_cluster_gh v1.21.2 + local git_tag=v1.21.2 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.21.2/deploy/cr.yaml + sed s/my-cluster-name/some-name/g + yq '.spec.initImage="percona/percona-server-mongodb-operator:1.21.2"' + 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.mAY7J3DFAz ++ mktemp + local LAST_ERR=/tmp/tmp.72OX8QuXv3 + 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.mAY7J3DFAz perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.72OX8QuXv3 + rm /tmp/tmp.mAY7J3DFAz /tmp/tmp.72OX8QuXv3 + 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.iUAlM7SDGm +++ mktemp ++ local LAST_ERR=/tmp/tmp.C3urknSFO4 ++ 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.iUAlM7SDGm ++ cat /tmp/tmp.C3urknSFO4 ++ rm /tmp/tmp.iUAlM7SDGm /tmp/tmp.C3urknSFO4 ++ 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.P8Ub44ezX2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.gwpl8qk1ND ++ 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.P8Ub44ezX2 ++ cat /tmp/tmp.gwpl8qk1ND ++ rm /tmp/tmp.P8Ub44ezX2 /tmp/tmp.gwpl8qk1ND ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1evvRhWBj4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.x2wuZEaSs7 ++ 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.1evvRhWBj4 ++ cat /tmp/tmp.x2wuZEaSs7 ++ rm /tmp/tmp.1evvRhWBj4 /tmp/tmp.x2wuZEaSs7 ++ 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-04-16T06:18:58.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-04-16T06:19:02.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-04-16T06:19:03.000+0000 I listening for the commands + create_user some-name + local cluster=some-name + log 'create user myApp' + set +o xtrace [2026-04-16T06:19:05+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-16027 mongodb + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.uPSgKVyVqT +++ mktemp ++ local LAST_ERR=/tmp/tmp.AR8R1dy70M ++ 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.uPSgKVyVqT ++ cat /tmp/tmp.AR8R1dy70M ++ rm /tmp/tmp.uPSgKVyVqT /tmp/tmp.AR8R1dy70M ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- 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-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.lcwRNp1ISb ++ mktemp + local LAST_ERR=/tmp/tmp.nrENdvnCp4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- 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-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lcwRNp1ISb Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("27b36427-1c4d-4d99-bbec-1506b4c0e0d0") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.nrENdvnCp4 + rm /tmp/tmp.lcwRNp1ISb /tmp/tmp.nrENdvnCp4 + return 0 + write_document some-name 100500 + local cluster=some-name + local x=100500 + log 'write document: 100500' + set +o xtrace [2026-04-16T06:19:08+0000] write document: 100500 + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 mongodb + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gIbcuQepuN +++ mktemp ++ local LAST_ERR=/tmp/tmp.44gqkZjdMs ++ 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.gIbcuQepuN ++ cat /tmp/tmp.44gqkZjdMs ++ rm /tmp/tmp.gIbcuQepuN /tmp/tmp.44gqkZjdMs ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.Pf0zUhKl9C ++ mktemp + local LAST_ERR=/tmp/tmp.lJJa4lPgrh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Pf0zUhKl9C Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("0fbc7038-c476-413f-a247-3e6f0d1c81ef") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.lJJa4lPgrh + rm /tmp/tmp.Pf0zUhKl9C /tmp/tmp.lJJa4lPgrh + 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-04-16T06:19:10+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-16027 + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + 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-04-16T06:19:13+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-16027 mongodb '' '' + grep -E -v 'I NETWORK|W NETWORK|F 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-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *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.0NLbfeXnEJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.cSmHOA1bdO ++ 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.0NLbfeXnEJ ++ cat /tmp/tmp.cSmHOA1bdO ++ rm /tmp/tmp.0NLbfeXnEJ /tmp/tmp.cSmHOA1bdO ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.ZDAhY9Gfiq ++ mktemp + local LAST_ERR=/tmp/tmp.1d3C6V4yUl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZDAhY9Gfiq + cat /tmp/tmp.1d3C6V4yUl + rm /tmp/tmp.ZDAhY9Gfiq /tmp/tmp.1d3C6V4yUl + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/compare/find.json /tmp/tmp.FoYKpRPdCt/find + upgrade_operator + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2315-83c87ceca' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2315-83c87ceca ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.TeItc7bqjl ++ mktemp + local LAST_ERR=/tmp/tmp.hhxrtKDU7v + 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-2315/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TeItc7bqjl 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.hhxrtKDU7v + rm /tmp/tmp.TeItc7bqjl /tmp/tmp.hhxrtKDU7v + 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-2315/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.huJ806ABBK ++ mktemp + local LAST_ERR=/tmp/tmp.NxhOxqZCUz + 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.huJ806ABBK 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.NxhOxqZCUz + rm /tmp/tmp.huJ806ABBK /tmp/tmp.NxhOxqZCUz + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2315-83c87ceca") |\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-2315/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.0G6yOvKkAz ++ mktemp + local LAST_ERR=/tmp/tmp.4J43nF4YUB + 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.0G6yOvKkAz deployment.apps/percona-server-mongodb-operator configured + cat /tmp/tmp.4J43nF4YUB + rm /tmp/tmp.0G6yOvKkAz /tmp/tmp.4J43nF4YUB + 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.J3at2Jh3Gl +++ mktemp ++ local LAST_ERR=/tmp/tmp.MbCrWQr7a2 ++ 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.J3at2Jh3Gl ++ cat /tmp/tmp.MbCrWQr7a2 ++ rm /tmp/tmp.J3at2Jh3Gl /tmp/tmp.MbCrWQr7a2 ++ return 0 + wait_operator_pod percona-server-mongodb-operator-77f964897b-jws22 + local pod=percona-server-mongodb-operator-77f964897b-jws22 + set +o xtrace waiting for pod/percona-server-mongodb-operator-77f964897b-jws22 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.WiMJvSImp5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WBjxPb2j4U ++ 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.WiMJvSImp5 ++ cat /tmp/tmp.WBjxPb2j4U ++ rm /tmp/tmp.WiMJvSImp5 /tmp/tmp.WBjxPb2j4U ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-77f964897b-jws22 ++ mktemp + local LAST_OUT=/tmp/tmp.ikiIyANB5V ++ mktemp + local LAST_ERR=/tmp/tmp.Y8x9AfVJ7e + 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-77f964897b-jws22 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ikiIyANB5V + cat /tmp/tmp.Y8x9AfVJ7e + rm /tmp/tmp.ikiIyANB5V /tmp/tmp.Y8x9AfVJ7e + return 0 2026-04-16T06:19:26.016Z INFO setup Manager starting up {"gitCommit": "83c87ceca0b23558f4c7550f172381bc41388433", "gitBranch": "PR-2315-83c87ceca", "buildTime": "", "goVersion": "go1.25.9", "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-04-16T06:19:49+0000] run backup backup-minio-logical storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/conf/backup.yml + /usr/sbin/sed -e 's/name:/name: backup-minio-logical/' + /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/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.Y9J4C2njsn ++ mktemp + local LAST_ERR=/tmp/tmp.cop6Od4Th4 + 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.Y9J4C2njsn perconaservermongodbbackup.psmdb.percona.com/backup-minio-logical created + cat /tmp/tmp.cop6Od4Th4 + rm /tmp/tmp.Y9J4C2njsn /tmp/tmp.cop6Od4Th4 + 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-04-16T06:20:26+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-04-16T06:21:36+0000] run backup backup-minio-incremental-base storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/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.ILh6xArOwY ++ mktemp + local LAST_ERR=/tmp/tmp.TFxWmrzKO7 + 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.ILh6xArOwY perconaservermongodbbackup.psmdb.percona.com/backup-minio-incremental-base created + cat /tmp/tmp.TFxWmrzKO7 + rm /tmp/tmp.ILh6xArOwY /tmp/tmp.TFxWmrzKO7 + 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-04-16T06:22:00+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-04-16T06:22:00+0000] write document: 100501 + run_mongo 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 mongodb + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mKYtAwtGfe +++ mktemp ++ local LAST_ERR=/tmp/tmp.ecsgbfKrLg ++ 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.mKYtAwtGfe ++ cat /tmp/tmp.ecsgbfKrLg ++ rm /tmp/tmp.mKYtAwtGfe /tmp/tmp.ecsgbfKrLg ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.BnBr7piHc1 ++ mktemp + local LAST_ERR=/tmp/tmp.0o6P5CidLe + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BnBr7piHc1 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("50b16d2a-2461-45d8-8c56-5af962c21291") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.0o6P5CidLe + rm /tmp/tmp.BnBr7piHc1 /tmp/tmp.0o6P5CidLe + return 0 + write_document some-name 100502 + local cluster=some-name + local x=100502 + log 'write document: 100502' + set +o xtrace [2026-04-16T06:22:02+0000] write document: 100502 + run_mongo 'use myApp\n db.test.insert({ x: 100502 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 mongodb + local 'command=use myApp\n db.test.insert({ x: 100502 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jFdHwN5Jsc +++ mktemp ++ local LAST_ERR=/tmp/tmp.FVjvgkf75h ++ 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.jFdHwN5Jsc ++ cat /tmp/tmp.FVjvgkf75h ++ rm /tmp/tmp.jFdHwN5Jsc /tmp/tmp.FVjvgkf75h ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100502 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.a4MiWpcy59 ++ mktemp + local LAST_ERR=/tmp/tmp.yKzWphnZXk + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100502 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.a4MiWpcy59 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("aaa09bed-3a80-4614-aa5e-f6cbae52a346") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.yKzWphnZXk + rm /tmp/tmp.a4MiWpcy59 /tmp/tmp.yKzWphnZXk + return 0 + write_document some-name 100503 + local cluster=some-name + local x=100503 + log 'write document: 100503' + set +o xtrace [2026-04-16T06:22:04+0000] write document: 100503 + run_mongo 'use myApp\n db.test.insert({ x: 100503 })' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 mongodb + local 'command=use myApp\n db.test.insert({ x: 100503 })' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bzUjp8fxHp +++ mktemp ++ local LAST_ERR=/tmp/tmp.eF3oQdjeur ++ 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.bzUjp8fxHp ++ cat /tmp/tmp.eF3oQdjeur ++ rm /tmp/tmp.bzUjp8fxHp /tmp/tmp.eF3oQdjeur ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100503 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.xvUX9T9ZNM ++ mktemp + local LAST_ERR=/tmp/tmp.iexQoQe6bA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100503 })\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xvUX9T9ZNM Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("3a46a568-a065-4f5b-bdb6-8aedd789c3d7") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.iexQoQe6bA + rm /tmp/tmp.xvUX9T9ZNM /tmp/tmp.iexQoQe6bA + 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-04-16T06:22:06+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-16027 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + 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-04-16T06:23:16+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-16027 mongodb .svc.cluster.local '' + grep -E -v 'I NETWORK|W NETWORK|F 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().sort( { x: 1 } )' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *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.G9NpOGWnu9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.kAK6knaJPp ++ 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.G9NpOGWnu9 ++ cat /tmp/tmp.kAK6knaJPp ++ rm /tmp/tmp.G9NpOGWnu9 /tmp/tmp.kAK6knaJPp ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.pMC9x1i4e1 ++ mktemp + local LAST_ERR=/tmp/tmp.yxYwGAvqCf + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pMC9x1i4e1 + cat /tmp/tmp.yxYwGAvqCf + rm /tmp/tmp.pMC9x1i4e1 /tmp/tmp.yxYwGAvqCf + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.FoYKpRPdCt/find-2nd + log 'PiTR data is ready: OK' + set +o xtrace [2026-04-16T06:23:19+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-04-16T06:23:19+0000] run backup backup-minio-incremental storage: gcp-cs + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/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.4rVfppmbip ++ mktemp + local LAST_ERR=/tmp/tmp.2PMmpAroU0 + 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.4rVfppmbip perconaservermongodbbackup.psmdb.percona.com/backup-minio-incremental created + cat /tmp/tmp.2PMmpAroU0 + rm /tmp/tmp.4rVfppmbip /tmp/tmp.2PMmpAroU0 + 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.wCvwPS8uvK +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.Xyp4blxQlo ++++ 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.wCvwPS8uvK ++++ cat /tmp/tmp.Xyp4blxQlo ++++ rm /tmp/tmp.wCvwPS8uvK /tmp/tmp.Xyp4blxQlo ++++ return 0 +++ first_timestamp=1776320571 +++ sleep 5 +++ [[ 1776320571 != '' ]] +++ [[ 1776320571 != 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.hugdIcjc1a +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.VLMO2UcUHn ++++ 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.hugdIcjc1a ++++ cat /tmp/tmp.VLMO2UcUHn ++++ rm /tmp/tmp.hugdIcjc1a /tmp/tmp.VLMO2UcUHn ++++ return 0 +++ second_timestamp=1776320571 +++ let retry+=1 +++ [[ 1 -gt 30 ]] +++ [[ 1776320571 != '' ]] +++ [[ 1776320571 != null ]] +++ [[ 1776320571 == 1776320571 ]] +++ /usr/sbin/date -u -d @1776320571 +%Y-%m-%dT%H:%M:%SZ ++ format_pitr_target 2026-04-16T06:22:51Z ++ local target=2026-04-16T06:22:51Z ++ echo 2026-04-16T06:22:51Z ++ sed 's/T/ /' ++ sed s/Z// + local 'pitr_target=2026-04-16 06:22:51' + log 'dropping collection: myApp.test' + set +o xtrace [2026-04-16T06:23:46+0000] dropping collection: myApp.test + run_mongo 'use myApp\n db.test.drop()' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3KCAK3GbdB +++ mktemp ++ local LAST_ERR=/tmp/tmp.xXPL1MZZIK ++ 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.3KCAK3GbdB ++ cat /tmp/tmp.xXPL1MZZIK ++ rm /tmp/tmp.3KCAK3GbdB /tmp/tmp.xXPL1MZZIK ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.Wj8qHJuojQ ++ mktemp + local LAST_ERR=/tmp/tmp.BR4LBYN14E + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Wj8qHJuojQ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("86c98272-4ca1-43b5-b209-4b16f9b2c12a") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.BR4LBYN14E + rm /tmp/tmp.Wj8qHJuojQ /tmp/tmp.BR4LBYN14E + return 0 + log 'PiTR target is 2026-04-16 06:22:51' + set +o xtrace [2026-04-16T06:23:48+0000] PiTR target is 2026-04-16 06:22:51 + run_restore some-name backup-minio-logical '2026-04-16 06:22:51' + local cluster=some-name + local backup_name=backup-minio-logical + local 'pitr_target=2026-04-16 06:22:51' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/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-04-16 06:22:51 ]] + target='2026-04-16 06:22:51' + yq -i eval '.spec.pitr = {"type": "date", "date": strenv(target)}' /tmp/tmp.FoYKpRPdCt/restore.yml + kubectl_bin apply -f /tmp/tmp.FoYKpRPdCt/restore.yml ++ mktemp + local LAST_OUT=/tmp/tmp.yYUh1DyjSw ++ mktemp + local LAST_ERR=/tmp/tmp.Q0ADPaOQYz + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /tmp/tmp.FoYKpRPdCt/restore.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yYUh1DyjSw perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-logical created + cat /tmp/tmp.Q0ADPaOQYz + rm /tmp/tmp.yYUh1DyjSw /tmp/tmp.Q0ADPaOQYz + 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.YzTjzAh9mt +++ mktemp ++ local LAST_ERR=/tmp/tmp.9v6OkyzwlE ++ 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.YzTjzAh9mt ++ cat /tmp/tmp.9v6OkyzwlE ++ rm /tmp/tmp.YzTjzAh9mt /tmp/tmp.9v6OkyzwlE ++ return 0 + [[ ready == ready ]] + echo .OK .OK + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + 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-04-16T06:24:21+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-16027 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-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F 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.kmR9O0Fvvx +++ mktemp ++ local LAST_ERR=/tmp/tmp.2MnKd4KhKq ++ 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.kmR9O0Fvvx ++ cat /tmp/tmp.2MnKd4KhKq ++ rm /tmp/tmp.kmR9O0Fvvx /tmp/tmp.2MnKd4KhKq ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.IpiTrS7fLZ ++ mktemp + local LAST_ERR=/tmp/tmp.qQWfOtrAsd + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IpiTrS7fLZ + cat /tmp/tmp.qQWfOtrAsd + rm /tmp/tmp.IpiTrS7fLZ /tmp/tmp.qQWfOtrAsd + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.FoYKpRPdCt/find-2nd + log 'Data is restored successfully: OK' + set +o xtrace [2026-04-16T06:24:23+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-04-16T06:24:23+0000] dropping collection: myApp.test + run_mongo 'use myApp\n db.test.drop()' myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.lQG031kh71 +++ mktemp ++ local LAST_ERR=/tmp/tmp.y59WChapIF ++ 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.lQG031kh71 ++ cat /tmp/tmp.y59WChapIF ++ rm /tmp/tmp.lQG031kh71 /tmp/tmp.y59WChapIF ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.eTPg1PwGq6 ++ mktemp + local LAST_ERR=/tmp/tmp.gPYEMxLgpY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.eTPg1PwGq6 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("518c7bd4-92ad-4964-8d1e-5292ad5f9822") } Percona Server for MongoDB server version: v8.0.17-6 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.gPYEMxLgpY + rm /tmp/tmp.eTPg1PwGq6 /tmp/tmp.gPYEMxLgpY + 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-2315/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.FoYKpRPdCt/restore.yml ++ mktemp + local LAST_OUT=/tmp/tmp.NaAzKgVqcx ++ mktemp + local LAST_ERR=/tmp/tmp.kRA1DpWr1i + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /tmp/tmp.FoYKpRPdCt/restore.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NaAzKgVqcx perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-incremental created + cat /tmp/tmp.kRA1DpWr1i + rm /tmp/tmp.NaAzKgVqcx /tmp/tmp.kRA1DpWr1i + 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.8Bq4Nz1N5f +++ mktemp ++ local LAST_ERR=/tmp/tmp.6YFitjHhcR ++ 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.8Bq4Nz1N5f ++ cat /tmp/tmp.6YFitjHhcR ++ rm /tmp/tmp.8Bq4Nz1N5f /tmp/tmp.6YFitjHhcR ++ 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.D6ODlfMMKB +++ mktemp ++ local LAST_ERR=/tmp/tmp.QoJUjpl2Wb ++ 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.D6ODlfMMKB ++ cat /tmp/tmp.QoJUjpl2Wb ++ rm /tmp/tmp.D6ODlfMMKB /tmp/tmp.QoJUjpl2Wb ++ 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.YUWjpzbktR +++ mktemp ++ local LAST_ERR=/tmp/tmp.DSvuVfr6JU ++ 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.YUWjpzbktR ++ cat /tmp/tmp.DSvuVfr6JU ++ rm /tmp/tmp.YUWjpzbktR /tmp/tmp.DSvuVfr6JU ++ return 0 + [[ error == 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.QV2YkScRTy +++ mktemp ++ local LAST_ERR=/tmp/tmp.ca5iOs7wNK ++ 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.QV2YkScRTy ++ cat /tmp/tmp.ca5iOs7wNK ++ rm /tmp/tmp.QV2YkScRTy /tmp/tmp.ca5iOs7wNK ++ return 0 + [[ error == 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.d8LhHeQyXf +++ mktemp ++ local LAST_ERR=/tmp/tmp.plHKnWjmcQ ++ 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.d8LhHeQyXf ++ cat /tmp/tmp.plHKnWjmcQ ++ rm /tmp/tmp.d8LhHeQyXf /tmp/tmp.plHKnWjmcQ ++ 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.gZn2o0rXes +++ mktemp ++ local LAST_ERR=/tmp/tmp.Jd4kJuKZaR ++ 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.gZn2o0rXes ++ cat /tmp/tmp.Jd4kJuKZaR ++ rm /tmp/tmp.gZn2o0rXes /tmp/tmp.Jd4kJuKZaR ++ 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.0lH3sMyMjg +++ mktemp ++ local LAST_ERR=/tmp/tmp.W59qAxhbvh ++ 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.0lH3sMyMjg ++ cat /tmp/tmp.W59qAxhbvh ++ rm /tmp/tmp.0lH3sMyMjg /tmp/tmp.W59qAxhbvh ++ 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.JxJIg5nvQk +++ mktemp ++ local LAST_ERR=/tmp/tmp.L0EiXplSE2 ++ 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.JxJIg5nvQk ++ cat /tmp/tmp.L0EiXplSE2 ++ rm /tmp/tmp.JxJIg5nvQk /tmp/tmp.L0EiXplSE2 ++ return 0 + [[ error == 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.48AI6XDkQL +++ mktemp ++ local LAST_ERR=/tmp/tmp.GyOcHcFlHp ++ 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.48AI6XDkQL ++ cat /tmp/tmp.GyOcHcFlHp ++ rm /tmp/tmp.48AI6XDkQL /tmp/tmp.GyOcHcFlHp ++ return 0 + [[ error == 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.vHTwIDy6Hg +++ mktemp ++ local LAST_ERR=/tmp/tmp.synoC6cLRp ++ 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.vHTwIDy6Hg ++ cat /tmp/tmp.synoC6cLRp ++ rm /tmp/tmp.vHTwIDy6Hg /tmp/tmp.synoC6cLRp ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 10 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PEOEGXrW6v +++ mktemp ++ local LAST_ERR=/tmp/tmp.3gEeG7MnLO ++ 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.PEOEGXrW6v ++ cat /tmp/tmp.3gEeG7MnLO ++ rm /tmp/tmp.PEOEGXrW6v /tmp/tmp.3gEeG7MnLO ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 11 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.e3IF3pIWpJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.H4E15nqImi ++ 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.e3IF3pIWpJ ++ cat /tmp/tmp.H4E15nqImi ++ rm /tmp/tmp.e3IF3pIWpJ /tmp/tmp.H4E15nqImi ++ return 0 + [[ ready == ready ]] + echo .OK .OK + compare_mongo_cmd find myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 -2nd .svc.cluster.local myApp test 'sort( { x: 1 } )' + local command=find + local uri=myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 + 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-04-16T06:30:17+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-16027 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-16027 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.upgrade-partial-backup-16027 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F 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.crlRaOqKRY +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vp3qLfPuP3 ++ 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.crlRaOqKRY ++ cat /tmp/tmp.Vp3qLfPuP3 ++ rm /tmp/tmp.crlRaOqKRY /tmp/tmp.Vp3qLfPuP3 ++ return 0 + local client_container=psmdb-client-bb8b97679-7jtrk + kubectl_bin exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.pTS5y77Ndg ++ mktemp + local LAST_ERR=/tmp/tmp.YIaNTBQ7j5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-7jtrk -- bash -c 'printf '\''use myApp\n db.test.find().sort( { x: 1 } )\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0.upgrade-partial-backup-16027.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pTS5y77Ndg + cat /tmp/tmp.YIaNTBQ7j5 + rm /tmp/tmp.pTS5y77Ndg /tmp/tmp.YIaNTBQ7j5 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2315/e2e-tests/upgrade-partial-backup/compare/find-2nd.json /tmp/tmp.FoYKpRPdCt/find-2nd + log 'Data is restored successfully: OK' + set +o xtrace [2026-04-16T06:30:19+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.wYpXlmmWYo +++ mktemp ++ local LAST_ERR=/tmp/tmp.NwjYeYcTyj ++ 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.wYpXlmmWYo ++ cat /tmp/tmp.NwjYeYcTyj ++ rm /tmp/tmp.wYpXlmmWYo /tmp/tmp.NwjYeYcTyj ++ return 0 + local incremental_base_dest=operator-testing/upgrade-partial-backup/2026-04-16T06:21:38Z ++ 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://||' +++ mktemp ++ sed 's|gs://||' ++ local LAST_OUT=/tmp/tmp.F2mPRIC3V9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.rCdpMCjGlt ++ 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.F2mPRIC3V9 ++ cat /tmp/tmp.rCdpMCjGlt ++ rm /tmp/tmp.F2mPRIC3V9 /tmp/tmp.rCdpMCjGlt ++ return 0 + local logical_dest=operator-testing/upgrade-partial-backup/2026-04-16T06:20:14Z + kubectl_bin delete psmdb-backup backup-minio-incremental-base ++ mktemp + local LAST_OUT=/tmp/tmp.kaXl8XkGzJ ++ mktemp + local LAST_ERR=/tmp/tmp.aSVVB7IfTH + 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