Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/../logs/demand-backup-snapshot.log + create_infra demand-backup-snapshot-7564 + local ns=demand-backup-snapshot-7564 + [[ 1 == 1 ]] + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.wFYMvT9E4L ++ mktemp + local LAST_ERR=/tmp/tmp.FLLz4IXHUn + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml' '--ignore-not-found' '--wait=false') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wFYMvT9E4L customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.FLLz4IXHUn + rm /tmp/tmp.wFYMvT9E4L /tmp/tmp.FLLz4IXHUn + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n demand-backup-snapshot-25923 backup-snapshot --type=merge -p '{"metadata":{"finalizers":[]}}' perconaservermongodbbackup.psmdb.percona.com/backup-snapshot patched + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.FiVsOay1cG ++ mktemp + local LAST_ERR=/tmp/tmp.YHBVkts7IK + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbbackups.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FiVsOay1cG customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com condition met + cat /tmp/tmp.YHBVkts7IK + rm /tmp/tmp.FiVsOay1cG /tmp/tmp.YHBVkts7IK + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbclustersyncs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + : + kubectl_bin wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.wuOfIEX0ol ++ mktemp + local LAST_ERR=/tmp/tmp.duTxi1G4Pg + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbclustersyncs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wuOfIEX0ol + cat /tmp/tmp.duTxi1G4Pg + rm /tmp/tmp.wuOfIEX0ol /tmp/tmp.duTxi1G4Pg + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.DUyR8I1Ck2 ++ mktemp + local LAST_ERR=/tmp/tmp.LQ5VIfjpOJ + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbrestores.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DUyR8I1Ck2 + cat /tmp/tmp.LQ5VIfjpOJ + rm /tmp/tmp.DUyR8I1Ck2 /tmp/tmp.LQ5VIfjpOJ + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.VMoVpZqI5I ++ mktemp + local LAST_ERR=/tmp/tmp.BorBHX4AGg + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VMoVpZqI5I + cat /tmp/tmp.BorBHX4AGg + rm /tmp/tmp.VMoVpZqI5I /tmp/tmp.BorBHX4AGg + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.jF7I4N9jmW ++ mktemp + local LAST_ERR=/tmp/tmp.OfFlCyMRuj + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jF7I4N9jmW clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.OfFlCyMRuj + rm /tmp/tmp.jF7I4N9jmW /tmp/tmp.OfFlCyMRuj + return 0 + check_crd_for_deletion PR-2465-a177d53a8 + local git_tag=PR-2465-a177d53a8 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2465-a177d53a8/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Xwi5SKPswh +++ mktemp ++ local LAST_ERR=/tmp/tmp.3ndqPInhEn ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/null' '-o' 'jsonpath={.status.conditions[-1].type}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xwi5SKPswh ++ cat /tmp/tmp.3ndqPInhEn Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xwi5SKPswh ++ cat /tmp/tmp.3ndqPInhEn Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Xwi5SKPswh ++ cat /tmp/tmp.3ndqPInhEn Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.Xwi5SKPswh ++ cat /tmp/tmp.3ndqPInhEn Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.Xwi5SKPswh /tmp/tmp.3ndqPInhEn ++ return 1 + [[ '' == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ 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 + awk '{print$1}' + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + [[ -n '' ]] + desc 'cleaned up old namespaces psmdb-operator' ++ mktemp + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.QL1r0kyyks ++ mktemp + local LAST_ERR=/tmp/tmp.UcQ8fabfOe + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'psmdb-operator' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + local LAST_OUT=/tmp/tmp.2Z0IUZM99X ++ mktemp + local LAST_ERR=/tmp/tmp.EK4eXo2ZRi + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ 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.2Z0IUZM99X + cat /tmp/tmp.EK4eXo2ZRi + rm /tmp/tmp.2Z0IUZM99X /tmp/tmp.EK4eXo2ZRi + return 0 namespace "demand-backup-snapshot-25923" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QL1r0kyyks namespace "psmdb-operator" deleted + cat /tmp/tmp.UcQ8fabfOe + rm /tmp/tmp.QL1r0kyyks /tmp/tmp.UcQ8fabfOe + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.5RF2djmHaM ++ mktemp + local LAST_ERR=/tmp/tmp.QrskZ8o3h5 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5RF2djmHaM + cat /tmp/tmp.QrskZ8o3h5 + rm /tmp/tmp.5RF2djmHaM /tmp/tmp.QrskZ8o3h5 + 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.CZ6JW1GMeP ++ mktemp + local LAST_ERR=/tmp/tmp.1znx5EvjAf + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CZ6JW1GMeP namespace/psmdb-operator created + cat /tmp/tmp.1znx5EvjAf + rm /tmp/tmp.CZ6JW1GMeP /tmp/tmp.1znx5EvjAf + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.2EqlIKUYAH +++ mktemp ++ local LAST_ERR=/tmp/tmp.3UhWo8v9wd ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2EqlIKUYAH ++ cat /tmp/tmp.3UhWo8v9wd ++ rm /tmp/tmp.2EqlIKUYAH /tmp/tmp.3UhWo8v9wd ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.DjORm5RVFg ++ mktemp + local LAST_ERR=/tmp/tmp.WJxLHumnCe + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4' '--namespace=psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DjORm5RVFg Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4" modified. + cat /tmp/tmp.WJxLHumnCe + rm /tmp/tmp.DjORm5RVFg /tmp/tmp.WJxLHumnCe + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.rzjhV9EsBx ++ mktemp + local LAST_ERR=/tmp/tmp.QTDvAeD5Zv + local exit_status=0 + local timeout=4 + args=('apply' '--server-side' '--force-conflicts' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rzjhV9EsBx customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbclustersyncs.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.QTDvAeD5Zv + rm /tmp/tmp.rzjhV9EsBx /tmp/tmp.QTDvAeD5Zv + return 0 + '[' -n psmdb-operator ']' + apply_rbac cw-rbac + local operator_namespace=psmdb-operator + local rbac=cw-rbac + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.veT9XuKz5A ++ mktemp + local LAST_ERR=/tmp/tmp.eTyyGu4mNs + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.veT9XuKz5A clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.eTyyGu4mNs + rm /tmp/tmp.veT9XuKz5A /tmp/tmp.eTyyGu4mNs + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/deploy/cw-operator.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + kubectl_bin apply -n psmdb-operator -f - + cat - ++ mktemp + local LAST_OUT=/tmp/tmp.DfIoRxCS2Q ++ mktemp + local LAST_ERR=/tmp/tmp.blLMQssRMx + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DfIoRxCS2Q deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.blLMQssRMx + rm /tmp/tmp.DfIoRxCS2Q /tmp/tmp.blLMQssRMx + 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.5wnTSwG4YI +++ mktemp ++ local LAST_ERR=/tmp/tmp.T8fos98xpN ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5wnTSwG4YI ++ cat /tmp/tmp.T8fos98xpN ++ rm /tmp/tmp.5wnTSwG4YI /tmp/tmp.T8fos98xpN ++ return 0 + wait_operator_pod percona-server-mongodb-operator-6cb789f874-nd45l + local pod=percona-server-mongodb-operator-6cb789f874-nd45l + set +o xtrace waiting for pod/percona-server-mongodb-operator-6cb789f874-nd45l 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.7kBifdsFmf +++ mktemp ++ local LAST_ERR=/tmp/tmp.nK8cnLEOjX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7kBifdsFmf ++ cat /tmp/tmp.nK8cnLEOjX ++ rm /tmp/tmp.7kBifdsFmf /tmp/tmp.nK8cnLEOjX ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-6cb789f874-nd45l ++ mktemp + local LAST_OUT=/tmp/tmp.1CqvFllBL1 ++ mktemp + local LAST_ERR=/tmp/tmp.eSEdkPkGH6 + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-6cb789f874-nd45l') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-6cb789f874-nd45l + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1CqvFllBL1 + cat /tmp/tmp.eSEdkPkGH6 + rm /tmp/tmp.1CqvFllBL1 /tmp/tmp.eSEdkPkGH6 + return 0 2026-07-22T18:03:15.218Z INFO setup Manager starting up {"gitCommit": "a177d53a8f1a53d235b5094c0cbe20626ddb0066", "gitBranch": "PR-2465-a177d53a8", "buildTime": "", "goVersion": "go1.26.5", "os": "linux", "arch": "amd64"} + create_namespace demand-backup-snapshot-7564 + local namespace=demand-backup-snapshot-7564 + 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 + [[ -n '' ]] + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + desc 'cleaned up old namespaces demand-backup-snapshot-7564' + set +o xtrace + xargs kubectl delete ns + awk '{print$1}' ----------------------------------------------------------------------------------- ++ mktemp cleaned up old namespaces demand-backup-snapshot-7564 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace demand-backup-snapshot-7564 --ignore-not-found + local LAST_OUT=/tmp/tmp.OQyefPP54I ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.n83TVVTHLL + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_OUT=/tmp/tmp.YMYxuKMx48 + for i in $(seq 0 2) + set +e + kubectl get ns ++ mktemp + local LAST_ERR=/tmp/tmp.U4BHSBVOCb + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'demand-backup-snapshot-7564' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace demand-backup-snapshot-7564 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OQyefPP54I + cat /tmp/tmp.n83TVVTHLL + rm /tmp/tmp.OQyefPP54I /tmp/tmp.n83TVVTHLL + 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.YMYxuKMx48 + cat /tmp/tmp.U4BHSBVOCb + rm /tmp/tmp.YMYxuKMx48 /tmp/tmp.U4BHSBVOCb + return 0 + kubectl_bin wait --for=delete namespace demand-backup-snapshot-7564 ++ mktemp + local LAST_OUT=/tmp/tmp.XGD2ySKAnu ++ mktemp + local LAST_ERR=/tmp/tmp.tMVI6uxIH3 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'demand-backup-snapshot-7564') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace demand-backup-snapshot-7564 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XGD2ySKAnu + cat /tmp/tmp.tMVI6uxIH3 + rm /tmp/tmp.XGD2ySKAnu /tmp/tmp.tMVI6uxIH3 + return 0 + desc 'create namespace demand-backup-snapshot-7564' + set +o xtrace ----------------------------------------------------------------------------------- create namespace demand-backup-snapshot-7564 ----------------------------------------------------------------------------------- + kubectl_bin create namespace demand-backup-snapshot-7564 ++ mktemp + local LAST_OUT=/tmp/tmp.NDsOR0z0ye ++ mktemp + local LAST_ERR=/tmp/tmp.IL3NN3QJ4i + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'demand-backup-snapshot-7564') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace demand-backup-snapshot-7564 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NDsOR0z0ye namespace/demand-backup-snapshot-7564 created + cat /tmp/tmp.IL3NN3QJ4i + rm /tmp/tmp.NDsOR0z0ye /tmp/tmp.IL3NN3QJ4i + return 0 + set_kube_ctx demand-backup-snapshot-7564 + local namespace=demand-backup-snapshot-7564 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.QFu16lj23z +++ mktemp ++ local LAST_ERR=/tmp/tmp.4rS6HYIF3q ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.QFu16lj23z ++ cat /tmp/tmp.4rS6HYIF3q ++ rm /tmp/tmp.QFu16lj23z /tmp/tmp.4rS6HYIF3q ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4 --namespace=demand-backup-snapshot-7564 ++ mktemp + local LAST_OUT=/tmp/tmp.ovrtULa0ut ++ mktemp + local LAST_ERR=/tmp/tmp.c1T9yhrDOu + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4' '--namespace=demand-backup-snapshot-7564') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4 --namespace=demand-backup-snapshot-7564 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ovrtULa0ut Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2465-a177d53a8-9-cluster4" modified. + cat /tmp/tmp.c1T9yhrDOu + rm /tmp/tmp.ovrtULa0ut /tmp/tmp.c1T9yhrDOu + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + arch_scheduling_enabled + [[ -n '' ]] + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Wed Jul 22 18:03:56 2026 NAMESPACE: demand-backup-snapshot-7564 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.demand-backup-snapshot-7564.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace demand-backup-snapshot-7564 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace demand-backup-snapshot-7564 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace demand-backup-snapshot-7564 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace demand-backup-snapshot-7564 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nw9UeO4MMf +++ mktemp ++ local LAST_ERR=/tmp/tmp.USEPa2nLUK ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=release=minio-service' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.nw9UeO4MMf ++ cat /tmp/tmp.USEPa2nLUK ++ rm /tmp/tmp.nw9UeO4MMf /tmp/tmp.USEPa2nLUK ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-vgqjv + wait_pod minio-service-6d5f646cdc-vgqjv + local pod=minio-service-6d5f646cdc-vgqjv + set +o xtrace waiting for pod/minio-service-6d5f646cdc-vgqjv to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.demand-backup-snapshot-7564.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + aws_cli_minio http://minio-service:9000 s3 mb s3://operator-testing + local endpoint=http://minio-service:9000 + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing ++ mktemp + local LAST_OUT=/tmp/tmp.v9ACCsJBZR ++ mktemp + local LAST_ERR=/tmp/tmp.NqRoDl62Va + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'mb' 's3://operator-testing') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v9ACCsJBZR make_bucket: operator-testing pod "aws-cli" deleted from demand-backup-snapshot-7564 namespace + cat /tmp/tmp.NqRoDl62Va All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.v9ACCsJBZR /tmp/tmp.NqRoDl62Va + return 0 + apply_s3_storage_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.E8ibc2Vje4 ++ mktemp + local LAST_ERR=/tmp/tmp.RzzRxrAWa4 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.E8ibc2Vje4 secret/minio-secret created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/oci-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.RzzRxrAWa4 + rm /tmp/tmp.E8ibc2Vje4 /tmp/tmp.RzzRxrAWa4 + return 0 + deploy_volume_snapshot_class + local snapshot_class_file + case "$PLATFORM" in + snapshot_class_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/volume-snapshot-class-gke.yaml + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/volume-snapshot-class-gke.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.TWLLYSvZkp ++ mktemp + local LAST_ERR=/tmp/tmp.fd6cK6mGo8 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/volume-snapshot-class-gke.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/volume-snapshot-class-gke.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TWLLYSvZkp volumesnapshotclass.snapshot.storage.k8s.io/gke-snapshot-class unchanged + cat /tmp/tmp.fd6cK6mGo8 + rm /tmp/tmp.TWLLYSvZkp /tmp/tmp.fd6cK6mGo8 + return 0 + cluster=some-name + desc 'Testing snapshot backup/restore on unencrypted cluster' + set +o xtrace ----------------------------------------------------------------------------------- Testing snapshot backup/restore on unencrypted cluster ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.sTil52LS78 ++ mktemp + local LAST_ERR=/tmp/tmp.Q2CixrQhHX + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/secrets.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/secrets.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sTil52LS78 secret/some-users created + cat /tmp/tmp.Q2CixrQhHX + rm /tmp/tmp.sTil52LS78 /tmp/tmp.Q2CixrQhHX + return 0 + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.8ubzdQfaMt + /usr/sbin/sed -e s/NAME_SPACE/demand-backup-snapshot-7564/g + yq eval '(.spec | select(has("search"))).search.image = "perconalab/percona-server-mongodb-operator:main-mongot"' + add_arch_to_psmdb - + arch_scheduling_enabled + [[ -n '' ]] + cat - ++ mktemp + local LAST_ERR=/tmp/tmp.s3UAOqUgDO + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8ubzdQfaMt perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.s3UAOqUgDO + rm /tmp/tmp.8ubzdQfaMt /tmp/tmp.s3UAOqUgDO + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client_with_tls.yml ++ mktemp + local LAST_OUT=/tmp/tmp.HZjA8l2YYT ++ mktemp + local LAST_ERR=/tmp/tmp.Ql1KafqH0p + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client_with_tls.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/conf/client_with_tls.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HZjA8l2YYT deployment.apps/psmdb-client created + cat /tmp/tmp.Ql1KafqH0p + rm /tmp/tmp.HZjA8l2YYT /tmp/tmp.Ql1KafqH0p + return 0 + echo 'check if all pods started' check if all pods started + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready........OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready..............OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.RDGKQHGUUk +++ mktemp ++ local LAST_ERR=/tmp/tmp.cmGPT1tfLv ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.RDGKQHGUUk ++ cat /tmp/tmp.cmGPT1tfLv ++ rm /tmp/tmp.RDGKQHGUUk /tmp/tmp.cmGPT1tfLv ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready..........OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BQpoziZACS +++ mktemp ++ local LAST_ERR=/tmp/tmp.6FXFwIVj1h ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BQpoziZACS ++ cat /tmp/tmp.6FXFwIVj1h ++ rm /tmp/tmp.BQpoziZACS /tmp/tmp.6FXFwIVj1h ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zxjZzjNubZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.TDcCIP6EF2 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zxjZzjNubZ ++ cat /tmp/tmp.TDcCIP6EF2 ++ rm /tmp/tmp.zxjZzjNubZ /tmp/tmp.TDcCIP6EF2 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready............. + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.iOZJW1ruCE +++ mktemp ++ local LAST_ERR=/tmp/tmp.394kitRrPu ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.iOZJW1ruCE ++ cat /tmp/tmp.394kitRrPu ++ rm /tmp/tmp.iOZJW1ruCE /tmp/tmp.394kitRrPu ++ return 0 + [[ ready == ready ]] + echo .OK .OK + sleep 60 + wait_for_pbm_operations some-name + local cluster=some-name + set +o xtrace waiting for PBM operation to finish.OK + echo 'Writing test data' Writing test data + run_mongo_tls 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb+srv + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dmT6p5sPBh +++ mktemp ++ local LAST_ERR=/tmp/tmp.rgr0UT0sk4 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dmT6p5sPBh ++ cat /tmp/tmp.rgr0UT0sk4 ++ rm /tmp/tmp.dmT6p5sPBh /tmp/tmp.rgr0UT0sk4 ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.7GJiCDPxK2 ++ mktemp + local LAST_ERR=/tmp/tmp.fcxLCT3iX2 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7GJiCDPxK2 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-07-22T18:08:22.398Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("aa6377e4-a165-499b-a103-d4654d97adfa") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.fcxLCT3iX2 + rm /tmp/tmp.7GJiCDPxK2 /tmp/tmp.fcxLCT3iX2 + return 0 + sleep 1 + run_mongo_tls 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb+srv + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rxE7QcRWtN +++ mktemp ++ local LAST_ERR=/tmp/tmp.RDrJNv7Ntm ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rxE7QcRWtN ++ cat /tmp/tmp.RDrJNv7Ntm ++ rm /tmp/tmp.rxE7QcRWtN /tmp/tmp.RDrJNv7Ntm ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.vjPo7pZbCb ++ mktemp + local LAST_ERR=/tmp/tmp.TlZOjBg0aP + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vjPo7pZbCb Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-07-22T18:08:26.421Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("70e6f998-6d2d-415a-8233-2ff336ce8868") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.TlZOjBg0aP + rm /tmp/tmp.vjPo7pZbCb /tmp/tmp.TlZOjBg0aP + return 0 + sleep 5 + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:08:31+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb + local suffix=.svc.cluster.local + 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.5wrwBlqcny +++ mktemp ++ local LAST_ERR=/tmp/tmp.1B2aa1X2rd ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5wrwBlqcny ++ cat /tmp/tmp.1B2aa1X2rd ++ rm /tmp/tmp.5wrwBlqcny /tmp/tmp.1B2aa1X2rd ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.WPlZ4ZbnoV ++ mktemp + local LAST_ERR=/tmp/tmp.4zkjnNbJ4t + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WPlZ4ZbnoV + cat /tmp/tmp.4zkjnNbJ4t + rm /tmp/tmp.WPlZ4ZbnoV /tmp/tmp.4zkjnNbJ4t + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:08:34+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb + local suffix=.svc.cluster.local + 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' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6AY7J49JzC +++ mktemp ++ local LAST_ERR=/tmp/tmp.kXO7eZS1uL ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6AY7J49JzC ++ cat /tmp/tmp.kXO7eZS1uL ++ rm /tmp/tmp.6AY7J49JzC /tmp/tmp.kXO7eZS1uL ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.0tnUKnN4WX ++ mktemp + local LAST_ERR=/tmp/tmp.qyWNhOfJYi + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0tnUKnN4WX + cat /tmp/tmp.qyWNhOfJYi + rm /tmp/tmp.0tnUKnN4WX /tmp/tmp.qyWNhOfJYi + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:08:37+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb + local suffix=.svc.cluster.local + 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.GM4ijtXSJG +++ mktemp ++ local LAST_ERR=/tmp/tmp.qINycM102M ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.GM4ijtXSJG ++ cat /tmp/tmp.qINycM102M ++ rm /tmp/tmp.GM4ijtXSJG /tmp/tmp.qINycM102M ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.HXCmst6rqc ++ mktemp + local LAST_ERR=/tmp/tmp.d650SGRQVm + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HXCmst6rqc + cat /tmp/tmp.d650SGRQVm + rm /tmp/tmp.HXCmst6rqc /tmp/tmp.d650SGRQVm + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + echo 'Running snapshot backup (unencrypted)' Running snapshot backup (unencrypted) + backup_name=backup-snapshot + run_snapshot_backup backup-snapshot + local backup_name=backup-snapshot ++ get_volume_snapshot_class ++ kubectl_bin get volumesnapshotclass -o 'jsonpath={.items[0].metadata.name}' + local snapshot_class=gke-snapshot-class + log 'running snapshot backup backup-snapshot' + set +o xtrace [2026-07-22T18:08:41+0000] running snapshot backup backup-snapshot + yq eval '.metadata.name = "backup-snapshot" | .spec.volumeSnapshotClass = "gke-snapshot-class"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/backup.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.ffGkQxEwNY ++ mktemp + local LAST_ERR=/tmp/tmp.PxbVr8TKcU + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ffGkQxEwNY perconaservermongodbbackup.psmdb.percona.com/backup-snapshot created + cat /tmp/tmp.PxbVr8TKcU + rm /tmp/tmp.ffGkQxEwNY /tmp/tmp.PxbVr8TKcU + return 0 + wait_backup backup-snapshot + local backup_name=backup-snapshot + local target_state=ready + set +o xtrace waiting for backup-snapshot to reach ready state......................OK + echo 'Drop collection and restore from snapshot (unencrypted)' Drop collection and restore from snapshot (unencrypted) + run_mongo_tls 'use myApp\n db.test.drop()' myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb+srv + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.REs6YOggga +++ mktemp ++ local LAST_ERR=/tmp/tmp.UyILyuraGY ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.REs6YOggga ++ cat /tmp/tmp.UyILyuraGY ++ rm /tmp/tmp.REs6YOggga /tmp/tmp.UyILyuraGY ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.NKJkiQLqhU ++ mktemp + local LAST_ERR=/tmp/tmp.MOpxoYCWv2 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NKJkiQLqhU Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-07-22T18:09:29.684Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("30c4e8fe-8e40-4e9e-be50-5544de2e0ee1") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.MOpxoYCWv2 + rm /tmp/tmp.NKJkiQLqhU /tmp/tmp.MOpxoYCWv2 + return 0 + run_restore backup-snapshot + local backup_name=backup-snapshot + local restore_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/restore.yml + log 'running restore restore-backup-snapshot' + set +o xtrace [2026-07-22T18:09:29+0000] running restore restore-backup-snapshot + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-snapshot/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-snapshot/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.lJjdW259cI ++ mktemp + local LAST_ERR=/tmp/tmp.jmvBKP62c4 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lJjdW259cI perconaservermongodbrestore.psmdb.percona.com/restore-backup-snapshot created + cat /tmp/tmp.jmvBKP62c4 + rm /tmp/tmp.lJjdW259cI /tmp/tmp.jmvBKP62c4 + return 0 + run_snapshot_recovery_check backup-snapshot + local backup_name=backup-snapshot + local target_cluster=some-name + wait_restore backup-snapshot some-name ready 0 3000 + local backup_name=backup-snapshot + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=3000 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-snapshot object to be created.OK Waiting psmdb-restore/restore-backup-snapshot to reach state "ready" ..........OK after 9 minutes + [[ 0 -eq 1 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.metadata.annotations.percona\.com/resync-pbm}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nmDp1o64fy +++ mktemp ++ local LAST_ERR=/tmp/tmp.fpGSfQHaxH ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.metadata.annotations.percona\.com/resync-pbm}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.metadata.annotations.percona\.com/resync-pbm}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.nmDp1o64fy ++ cat /tmp/tmp.fpGSfQHaxH ++ rm /tmp/tmp.nmDp1o64fy /tmp/tmp.fpGSfQHaxH ++ return 0 + '[' true '!=' true ']' + log 'Operator triggered PBM resync: OK' + set +o xtrace [2026-07-22T18:19:17+0000] Operator triggered PBM resync: OK + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Xak1gsBIsa +++ mktemp ++ local LAST_ERR=/tmp/tmp.cRypzRigT4 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Xak1gsBIsa ++ cat /tmp/tmp.cRypzRigT4 ++ rm /tmp/tmp.Xak1gsBIsa /tmp/tmp.cRypzRigT4 ++ return 0 + [[ error == 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.JQnLCnHiGx +++ mktemp ++ local LAST_ERR=/tmp/tmp.VBhSndRxzW ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JQnLCnHiGx ++ cat /tmp/tmp.VBhSndRxzW ++ rm /tmp/tmp.JQnLCnHiGx /tmp/tmp.VBhSndRxzW ++ return 0 + [[ error == 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.aIHAs0SsYt +++ mktemp ++ local LAST_ERR=/tmp/tmp.HwFX0SlHLX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aIHAs0SsYt ++ cat /tmp/tmp.HwFX0SlHLX ++ rm /tmp/tmp.aIHAs0SsYt /tmp/tmp.HwFX0SlHLX ++ 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.sOTFrOHIrA +++ mktemp ++ local LAST_ERR=/tmp/tmp.haIg13tANo ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.sOTFrOHIrA ++ cat /tmp/tmp.haIg13tANo ++ rm /tmp/tmp.sOTFrOHIrA /tmp/tmp.haIg13tANo ++ 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.gpRsaF1mUQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.prdlaWK3D0 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.gpRsaF1mUQ ++ cat /tmp/tmp.prdlaWK3D0 ++ rm /tmp/tmp.gpRsaF1mUQ /tmp/tmp.prdlaWK3D0 ++ 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.zeIh1qqn6a +++ mktemp ++ local LAST_ERR=/tmp/tmp.gtIe4qXwu8 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zeIh1qqn6a ++ cat /tmp/tmp.gtIe4qXwu8 ++ rm /tmp/tmp.zeIh1qqn6a /tmp/tmp.gtIe4qXwu8 ++ return 0 + [[ initializing == 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.Mey7PyEnJI +++ mktemp ++ local LAST_ERR=/tmp/tmp.5JRDjkm8qX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Mey7PyEnJI ++ cat /tmp/tmp.5JRDjkm8qX ++ rm /tmp/tmp.Mey7PyEnJI /tmp/tmp.5JRDjkm8qX ++ return 0 + [[ initializing == 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.mL6W2EHn9K +++ mktemp ++ local LAST_ERR=/tmp/tmp.6ryADUsu4E ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mL6W2EHn9K ++ cat /tmp/tmp.6ryADUsu4E ++ rm /tmp/tmp.mL6W2EHn9K /tmp/tmp.6ryADUsu4E ++ return 0 + [[ ready == ready ]] + echo .OK .OK + wait_for_pbm_operations some-name + local cluster=some-name + set +o xtrace waiting for PBM operation to finish.OK + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:20:44+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb + local suffix=.svc.cluster.local + 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.zqqlaPG8BU +++ mktemp ++ local LAST_ERR=/tmp/tmp.wfiZH2Ckax ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zqqlaPG8BU ++ cat /tmp/tmp.wfiZH2Ckax ++ rm /tmp/tmp.zqqlaPG8BU /tmp/tmp.wfiZH2Ckax ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.PaGIxMp62I ++ mktemp + local LAST_ERR=/tmp/tmp.EQ49GySmO8 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PaGIxMp62I + cat /tmp/tmp.EQ49GySmO8 + rm /tmp/tmp.PaGIxMp62I /tmp/tmp.EQ49GySmO8 + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:20:47+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + 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 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 + local driver=mongodb + local suffix=.svc.cluster.local + /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.Orq3IZ5cSe +++ mktemp ++ local LAST_ERR=/tmp/tmp.6U2R83xoVG ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Orq3IZ5cSe ++ cat /tmp/tmp.6U2R83xoVG ++ rm /tmp/tmp.Orq3IZ5cSe /tmp/tmp.6U2R83xoVG ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.0InRAykM89 ++ mktemp + local LAST_ERR=/tmp/tmp.bY8kB7NsjC + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0InRAykM89 + cat /tmp/tmp.bY8kB7NsjC + rm /tmp/tmp.0InRAykM89 /tmp/tmp.bY8kB7NsjC + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local retries=3 + local retry_delay=10 + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-07-22T18:20:49+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 mongodb '' '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 + 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 driver=mongodb + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YBoCDUdPSB +++ mktemp ++ local LAST_ERR=/tmp/tmp.xbM3vmO7ig ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YBoCDUdPSB ++ cat /tmp/tmp.xbM3vmO7ig ++ rm /tmp/tmp.YBoCDUdPSB /tmp/tmp.xbM3vmO7ig ++ return 0 + local client_container=psmdb-client-7fccbb9c8c-5lhpl + local mongo_flag= + local port=27017 ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' ++ mktemp + local LAST_OUT=/tmp/tmp.ywy7diNG9O ++ mktemp + local LAST_ERR=/tmp/tmp.GtLQaylZ2u + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-7fccbb9c8c-5lhpl' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-7fccbb9c8c-5lhpl -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-snapshot-7564.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ywy7diNG9O + cat /tmp/tmp.GtLQaylZ2u + rm /tmp/tmp.ywy7diNG9O /tmp/tmp.GtLQaylZ2u + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/compare/find.json /tmp/tmp.5q4VvcHD33/find + return + log 'Data restored: OK' + set +o xtrace [2026-07-22T18:20:52+0000] Data restored: OK + desc 'Testing cross-cluster snapshot restore to a new cluster' + set +o xtrace ----------------------------------------------------------------------------------- Testing cross-cluster snapshot restore to a new cluster ----------------------------------------------------------------------------------- + new_cluster=some-name-new + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name-new.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name-new.yml + kubectl_bin apply -f - + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2465-a177d53a8"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '(.spec | select(has("search"))).search.image = "perconalab/percona-server-mongodb-operator:main-mongot"' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/some-name-new.yml + /usr/sbin/sed -e s/NAME_SPACE/demand-backup-snapshot-7564/g + yq eval '.spec.upgradeOptions.apply="Never"' + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + add_arch_to_psmdb - + arch_scheduling_enabled + [[ -n '' ]] + cat - + local LAST_OUT=/tmp/tmp.CZLRUQl1wz ++ mktemp + local LAST_ERR=/tmp/tmp.vzQOKeJKyl + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CZLRUQl1wz perconaservermongodb.psmdb.percona.com/some-name-new created + cat /tmp/tmp.vzQOKeJKyl + rm /tmp/tmp.CZLRUQl1wz /tmp/tmp.vzQOKeJKyl + return 0 + echo 'check if all pods started on new cluster' check if all pods started on new cluster + wait_for_running some-name-new-rs0 3 + local name=some-name-new-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name-new ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-new-rs0-0 + local pod=some-name-new-rs0-0 + set +o xtrace waiting for pod/some-name-new-rs0-0 to be ready.........OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-new-rs0-1 + local pod=some-name-new-rs0-1 + set +o xtrace waiting for pod/some-name-new-rs0-1 to be ready......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.B0uQMJ1NY5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Je8eytmJeJ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name-new' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.B0uQMJ1NY5 ++ cat /tmp/tmp.Je8eytmJeJ ++ rm /tmp/tmp.B0uQMJ1NY5 /tmp/tmp.Je8eytmJeJ ++ return 0 + [[ '' == true ]] + wait_pod some-name-new-rs0-2 + local pod=some-name-new-rs0-2 + set +o xtrace waiting for pod/some-name-new-rs0-2 to be ready......OK ++ kubectl_bin get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8VHGIUbnjp +++ mktemp ++ local LAST_ERR=/tmp/tmp.PyYJGva0FU ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name-new' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8VHGIUbnjp ++ cat /tmp/tmp.PyYJGva0FU ++ rm /tmp/tmp.8VHGIUbnjp /tmp/tmp.PyYJGva0FU ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QjKyWlGTnl +++ mktemp ++ local LAST_ERR=/tmp/tmp.26ajLXIZGF ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name-new' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-new -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.QjKyWlGTnl ++ cat /tmp/tmp.26ajLXIZGF ++ rm /tmp/tmp.QjKyWlGTnl /tmp/tmp.26ajLXIZGF ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name-new to be ready................ + wait_cluster_consistency some-name-new + local cluster_name=some-name-new + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name-new to be ready' waiting for cluster some-name-new to be ready++ kubectl_bin get psmdb some-name-new -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HMkFfJV4sG +++ mktemp ++ local LAST_ERR=/tmp/tmp.HLBqEVxw2T ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name-new' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-new -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HMkFfJV4sG ++ cat /tmp/tmp.HLBqEVxw2T ++ rm /tmp/tmp.HMkFfJV4sG /tmp/tmp.HLBqEVxw2T ++ return 0 + [[ ready == ready ]] + echo .OK .OK + sleep 60 + wait_for_pbm_operations some-name-new + local cluster=some-name-new + set +o xtrace waiting for PBM operation to finish.OK + echo 'Restoring snapshot to new cluster using backupSource' Restoring snapshot to new cluster using backupSource + run_snapshot_restore_backupsource backup-snapshot some-name-new + local backup_name=backup-snapshot + local target_cluster=some-name-new + local snapshots ++ kubectl_bin get psmdb-backup backup-snapshot -o 'jsonpath={.status.snapshots}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZTt8k4wBRV +++ mktemp ++ local LAST_ERR=/tmp/tmp.g1dK4J48tf ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb-backup' 'backup-snapshot' '-o' 'jsonpath={.status.snapshots}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-snapshot -o 'jsonpath={.status.snapshots}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZTt8k4wBRV ++ cat /tmp/tmp.g1dK4J48tf ++ rm /tmp/tmp.ZTt8k4wBRV /tmp/tmp.g1dK4J48tf ++ return 0 + snapshots='[{"replsetName":"rs0","snapshotName":"backup-snapshot-rs0"}]' + log 'running cross-cluster snapshot restore to some-name-new from backup backup-snapshot' + set +o xtrace [2026-07-22T18:24:04+0000] running cross-cluster snapshot restore to some-name-new from backup backup-snapshot + backup_name=backup-snapshot + target_cluster=some-name-new + snapshots='[{"replsetName":"rs0","snapshotName":"backup-snapshot-rs0"}]' + yq eval $'\n\t\t\t.metadata.name = "restore-backupsource-" + strenv(backup_name) |\n\t\t\t.spec.clusterName = strenv(target_cluster) |\n\t\t\t.spec.backupSource.snapshots = env(snapshots)\n\t\t' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2465/e2e-tests/demand-backup-snapshot/conf/restore-backupsource.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.X04vQ3hNGe ++ mktemp + local LAST_ERR=/tmp/tmp.jVi9ju4hEW + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.X04vQ3hNGe perconaservermongodbrestore.psmdb.percona.com/restore-backupsource-backup-snapshot created + cat /tmp/tmp.jVi9ju4hEW + rm /tmp/tmp.X04vQ3hNGe /tmp/tmp.jVi9ju4hEW + return 0 + run_snapshot_recovery_check backupsource-backup-snapshot some-name-new + local backup_name=backupsource-backup-snapshot + local target_cluster=some-name-new + wait_restore backupsource-backup-snapshot some-name-new ready 0 3000 + local backup_name=backupsource-backup-snapshot + local cluster_name=some-name-new + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=3000 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backupsource-backup-snapshot object to be created.OK Waiting psmdb-restore/restore-backupsource-backup-snapshot to reach state "ready" ....