++ echo 'Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/logs/custom-replset-name.log' Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/logs/custom-replset-name.log ++ '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/cloud-secret.yml ']' ++ SKIP_BACKUPS_TO_AWS_GCP_AZURE= ++ oc get projects ++ kubectl get nodes ++ grep '^minikube' +++ kubectl version -o json +++ jq -r .serverVersion.gitVersion +++ grep -eks- Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 ++ '[' ']' ++ EKS=0 +++ kubectl version -o json +++ jq -r .serverVersion.gitVersion +++ grep gke Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 ++ '[' v1.32.13-gke.1090000 ']' ++ GKE=1 +++ kubectl version -o json +++ jq -r '.serverVersion.major + "." + .serverVersion.minor' +++ /usr/sbin/sed -r 's/[^0-9.]+//g' Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 ++ KUBE_VERSION=1.32 + create_infra custom-replset-name-30986 + local ns=custom-replset-name-30986 + [[ 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-2273/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.2EmGa0Iroc ++ mktemp + local LAST_ERR=/tmp/tmp.7WK5tcDJBM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2EmGa0Iroc customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.7WK5tcDJBM + rm /tmp/tmp.2EmGa0Iroc /tmp/tmp.7WK5tcDJBM + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/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\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.fLC4vMgq9b ++ mktemp + local LAST_ERR=/tmp/tmp.xVuckWd1nC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fLC4vMgq9b + cat /tmp/tmp.xVuckWd1nC + rm /tmp/tmp.fLC4vMgq9b /tmp/tmp.xVuckWd1nC + 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.seceuCGhLt ++ mktemp + local LAST_ERR=/tmp/tmp.YYjb6jKfLV + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.seceuCGhLt + cat /tmp/tmp.YYjb6jKfLV + rm /tmp/tmp.seceuCGhLt /tmp/tmp.YYjb6jKfLV + 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.LkfmfL4X8T ++ mktemp + local LAST_ERR=/tmp/tmp.hr74fuuR5v + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LkfmfL4X8T + cat /tmp/tmp.hr74fuuR5v + rm /tmp/tmp.LkfmfL4X8T /tmp/tmp.hr74fuuR5v + 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-2273/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.Wxs4gTDZYs ++ mktemp + local LAST_ERR=/tmp/tmp.nXDTSJOTZ6 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Wxs4gTDZYs 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.nXDTSJOTZ6 + rm /tmp/tmp.Wxs4gTDZYs /tmp/tmp.nXDTSJOTZ6 + return 0 + check_crd_for_deletion PR-2273-35e9cdcd + local git_tag=PR-2273-35e9cdcd ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2273-35e9cdcd/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.cYmWGVMxVo +++ mktemp ++ local LAST_ERR=/tmp/tmp.ruoYDOMIMj ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.cYmWGVMxVo ++ cat /tmp/tmp.ruoYDOMIMj 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.cYmWGVMxVo ++ cat /tmp/tmp.ruoYDOMIMj 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.cYmWGVMxVo ++ cat /tmp/tmp.ruoYDOMIMj Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.cYmWGVMxVo ++ cat /tmp/tmp.ruoYDOMIMj Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.cYmWGVMxVo /tmp/tmp.ruoYDOMIMj ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ++ mktemp ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.vGJUu4BSM5 + local LAST_OUT=/tmp/tmp.mOZMFW2i6E ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.DfHEhofQw9 + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.eom5exQamg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + for i in $(seq 0 2) + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mOZMFW2i6E + cat /tmp/tmp.eom5exQamg + rm /tmp/tmp.mOZMFW2i6E /tmp/tmp.eom5exQamg + return 0 namespace "custom-replset-name-11186" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vGJUu4BSM5 namespace "psmdb-operator" deleted + cat /tmp/tmp.DfHEhofQw9 + rm /tmp/tmp.vGJUu4BSM5 /tmp/tmp.DfHEhofQw9 + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.eGnQAjkYyd ++ mktemp + local LAST_ERR=/tmp/tmp.ok4tDmWNiT + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.eGnQAjkYyd + cat /tmp/tmp.ok4tDmWNiT + rm /tmp/tmp.eGnQAjkYyd /tmp/tmp.ok4tDmWNiT + 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.v2OtDOWuay ++ mktemp + local LAST_ERR=/tmp/tmp.ScZgRo9uTR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v2OtDOWuay namespace/psmdb-operator created + cat /tmp/tmp.ScZgRo9uTR + rm /tmp/tmp.v2OtDOWuay /tmp/tmp.ScZgRo9uTR + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.Hbg6xjtRWF +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZlS0dFQ3xk ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Hbg6xjtRWF ++ cat /tmp/tmp.ZlS0dFQ3xk ++ rm /tmp/tmp.Hbg6xjtRWF /tmp/tmp.ZlS0dFQ3xk ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.u3Rq5pKO5z ++ mktemp + local LAST_ERR=/tmp/tmp.312stIK5bt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.u3Rq5pKO5z Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4" modified. + cat /tmp/tmp.312stIK5bt + rm /tmp/tmp.u3Rq5pKO5z /tmp/tmp.312stIK5bt + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2273-35e9cdcd' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2273-35e9cdcd ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/custom-replset-name/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.1W59iSYZrx ++ mktemp + local LAST_ERR=/tmp/tmp.MeA6zUV6yp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1W59iSYZrx customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.MeA6zUV6yp + rm /tmp/tmp.1W59iSYZrx /tmp/tmp.MeA6zUV6yp + 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-2273/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.Ybde0Y0Xtf ++ mktemp + local LAST_ERR=/tmp/tmp.f1xObEa6px + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ybde0Y0Xtf 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.f1xObEa6px + rm /tmp/tmp.Ybde0Y0Xtf /tmp/tmp.f1xObEa6px + return 0 + yq eval ' (.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2273-35e9cdcd") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.gBLAIWnoNs ++ mktemp + local LAST_ERR=/tmp/tmp.7nh9iP9BTN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gBLAIWnoNs deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.7nh9iP9BTN + rm /tmp/tmp.gBLAIWnoNs /tmp/tmp.7nh9iP9BTN + 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.8BPsePFic8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.nh3MkQqjNG ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8BPsePFic8 ++ cat /tmp/tmp.nh3MkQqjNG ++ rm /tmp/tmp.8BPsePFic8 /tmp/tmp.nh3MkQqjNG ++ return 0 + wait_operator_pod percona-server-mongodb-operator-55dfd859fc-jpddd + local pod=percona-server-mongodb-operator-55dfd859fc-jpddd + set +o xtrace waiting for pod/percona-server-mongodb-operator-55dfd859fc-jpddd 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.840RG9KW3I +++ mktemp ++ local LAST_ERR=/tmp/tmp.BCTfzz8FyN ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.840RG9KW3I ++ cat /tmp/tmp.BCTfzz8FyN ++ rm /tmp/tmp.840RG9KW3I /tmp/tmp.BCTfzz8FyN ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-55dfd859fc-jpddd ++ mktemp + local LAST_OUT=/tmp/tmp.Az1pULVCca ++ mktemp + local LAST_ERR=/tmp/tmp.8wJWdidZsA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-55dfd859fc-jpddd + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Az1pULVCca + cat /tmp/tmp.8wJWdidZsA + rm /tmp/tmp.Az1pULVCca /tmp/tmp.8wJWdidZsA + return 0 2026-03-26T08:15:08.377Z INFO setup Manager starting up {"gitCommit": "35e9cdcd517fd72eb0fdfc11a3c42cfabd88a20c", "gitBranch": "PR-2273-35e9cdcd", "buildTime": "", "goVersion": "go1.25.8", "os": "linux", "arch": "amd64"} + create_namespace custom-replset-name-30986 + local namespace=custom-replset-name-30986 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' ++ mktemp + local LAST_OUT=/tmp/tmp.ewH8Iko45o + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces custom-replset-name-30986' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces custom-replset-name-30986 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace custom-replset-name-30986 --ignore-not-found + xargs kubectl delete ns ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.gq1bAJB6BX + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_OUT=/tmp/tmp.1EpQ2rkT7v ++ mktemp + local LAST_ERR=/tmp/tmp.Q5KqdQop8I + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace custom-replset-name-30986 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ewH8Iko45o + cat /tmp/tmp.gq1bAJB6BX + rm /tmp/tmp.ewH8Iko45o /tmp/tmp.gq1bAJB6BX + 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.1EpQ2rkT7v + cat /tmp/tmp.Q5KqdQop8I + rm /tmp/tmp.1EpQ2rkT7v /tmp/tmp.Q5KqdQop8I + return 0 + kubectl_bin wait --for=delete namespace custom-replset-name-30986 ++ mktemp + local LAST_OUT=/tmp/tmp.oh8qhs3zl6 ++ mktemp + local LAST_ERR=/tmp/tmp.4L4yuCuHMa + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace custom-replset-name-30986 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oh8qhs3zl6 + cat /tmp/tmp.4L4yuCuHMa + rm /tmp/tmp.oh8qhs3zl6 /tmp/tmp.4L4yuCuHMa + return 0 + desc 'create namespace custom-replset-name-30986' + set +o xtrace ----------------------------------------------------------------------------------- create namespace custom-replset-name-30986 ----------------------------------------------------------------------------------- + kubectl_bin create namespace custom-replset-name-30986 ++ mktemp + local LAST_OUT=/tmp/tmp.gOrAcrR3XT ++ mktemp + local LAST_ERR=/tmp/tmp.qnmXumxMaH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace custom-replset-name-30986 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gOrAcrR3XT namespace/custom-replset-name-30986 created + cat /tmp/tmp.qnmXumxMaH + rm /tmp/tmp.gOrAcrR3XT /tmp/tmp.qnmXumxMaH + return 0 + set_kube_ctx custom-replset-name-30986 + local namespace=custom-replset-name-30986 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.iRVVyXmhLp +++ mktemp ++ local LAST_ERR=/tmp/tmp.Bt90J7Oxbl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.iRVVyXmhLp ++ cat /tmp/tmp.Bt90J7Oxbl ++ rm /tmp/tmp.iRVVyXmhLp /tmp/tmp.Bt90J7Oxbl ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4 --namespace=custom-replset-name-30986 ++ mktemp + local LAST_OUT=/tmp/tmp.Yoy8Luh7yg ++ mktemp + local LAST_ERR=/tmp/tmp.QHWW3UYVhl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4 --namespace=custom-replset-name-30986 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Yoy8Luh7yg Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2273-35e9cdcd-4-cluster4" modified. + cat /tmp/tmp.QHWW3UYVhl + rm /tmp/tmp.Yoy8Luh7yg /tmp/tmp.QHWW3UYVhl + 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-2273/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.THpUnkBehu ++ mktemp + local LAST_ERR=/tmp/tmp.T5MjamcTbs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.THpUnkBehu secret/minio-secret created secret/aws-s3-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.T5MjamcTbs + rm /tmp/tmp.THpUnkBehu /tmp/tmp.T5MjamcTbs + 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 + [[ -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: Thu Mar 26 08:15:45 2026 NAMESPACE: custom-replset-name-30986 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.custom-replset-name-30986.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace custom-replset-name-30986 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace custom-replset-name-30986 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 custom-replset-name-30986 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace custom-replset-name-30986 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.CfjyQroc1J +++ mktemp ++ local LAST_ERR=/tmp/tmp.SXhHrthb0M ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CfjyQroc1J ++ cat /tmp/tmp.SXhHrthb0M ++ rm /tmp/tmp.CfjyQroc1J /tmp/tmp.SXhHrthb0M ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-l7qld + wait_pod minio-service-6d5f646cdc-l7qld + local pod=minio-service-6d5f646cdc-l7qld + set +o xtrace waiting for pod/minio-service-6d5f646cdc-l7qld to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.custom-replset-name-30986.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 + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.ZLRVc4Qser ++ mktemp + local LAST_ERR=/tmp/tmp.2YV3tT17zp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --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.ZLRVc4Qser pod "aws-cli" deleted from custom-replset-name-30986 namespace + cat /tmp/tmp.2YV3tT17zp 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.ZLRVc4Qser /tmp/tmp.2YV3tT17zp + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.yVGVrtItFB ++ mktemp + local LAST_ERR=/tmp/tmp.YYTmvq8wqS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yVGVrtItFB secret/some-users created deployment.apps/psmdb-client created secret/minio-secret unchanged + cat /tmp/tmp.YYTmvq8wqS + rm /tmp/tmp.yVGVrtItFB /tmp/tmp.YYTmvq8wqS + return 0 + cluster=some-name + desc 'create first PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster ----------------------------------------------------------------------------------- ++ kubectl get storageclass -o custom-columns=NAME:.metadata.name --no-headers=true ++ tail -n1 + sc=standard-rwo + yq eval '(.. | select(has("storageClassName")).storageClassName) = "standard-rwo"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/custom-replset-name/conf/some-name.yml + apply_cluster /tmp/tmp.4TMjXstXMy/some-name.yml + '[' -z '' ']' + cat_config /tmp/tmp.4TMjXstXMy/some-name.yml + cat /tmp/tmp.4TMjXstXMy/some-name.yml + kubectl_bin apply -f - + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2273-35e9cdcd"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/custom-replset-name-30986/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.wBnhjNxLJH ++ mktemp + local LAST_ERR=/tmp/tmp.vpaaNRWfAA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wBnhjNxLJH perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.vpaaNRWfAA + rm /tmp/tmp.wBnhjNxLJH /tmp/tmp.vpaaNRWfAA + return 0 + wait_cluster_consistency some-name 64 + local cluster_name=some-name + local wait_time=64 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TBwO7XUEAu +++ mktemp ++ local LAST_ERR=/tmp/tmp.wGY77cfyO9 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TBwO7XUEAu ++ cat /tmp/tmp.wGY77cfyO9 ++ rm /tmp/tmp.TBwO7XUEAu /tmp/tmp.wGY77cfyO9 ++ return 0 + [[ '' == \r\e\a\d\y ]] + let retry+=1 + '[' 1 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dmkuDZwNfc +++ mktemp ++ local LAST_ERR=/tmp/tmp.TqJhR9bwir ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dmkuDZwNfc ++ cat /tmp/tmp.TqJhR9bwir ++ rm /tmp/tmp.dmkuDZwNfc /tmp/tmp.TqJhR9bwir ++ return 0 + [[ '' == \r\e\a\d\y ]] + let retry+=1 + '[' 2 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YPOmyZPIwY +++ mktemp ++ local LAST_ERR=/tmp/tmp.spxFKxPHfu ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YPOmyZPIwY ++ cat /tmp/tmp.spxFKxPHfu ++ rm /tmp/tmp.YPOmyZPIwY /tmp/tmp.spxFKxPHfu ++ return 0 + [[ '' == \r\e\a\d\y ]] + let retry+=1 + '[' 3 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rVGqN4AH6b +++ mktemp ++ local LAST_ERR=/tmp/tmp.tO5q7CL1Lr ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rVGqN4AH6b ++ cat /tmp/tmp.tO5q7CL1Lr ++ rm /tmp/tmp.rVGqN4AH6b /tmp/tmp.tO5q7CL1Lr ++ return 0 + [[ '' == \r\e\a\d\y ]] + let retry+=1 + '[' 4 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ynmB33envK +++ mktemp ++ local LAST_ERR=/tmp/tmp.5eSlp58Xxq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ynmB33envK ++ cat /tmp/tmp.5eSlp58Xxq ++ rm /tmp/tmp.ynmB33envK /tmp/tmp.5eSlp58Xxq ++ return 0 + [[ '' == \r\e\a\d\y ]] + let retry+=1 + '[' 5 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Qb0VmTO2CT +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZlYHezFAEg ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Qb0VmTO2CT ++ cat /tmp/tmp.ZlYHezFAEg ++ rm /tmp/tmp.Qb0VmTO2CT /tmp/tmp.ZlYHezFAEg ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 6 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kG1CfYeIvO +++ mktemp ++ local LAST_ERR=/tmp/tmp.60wliDcA5N ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kG1CfYeIvO ++ cat /tmp/tmp.60wliDcA5N ++ rm /tmp/tmp.kG1CfYeIvO /tmp/tmp.60wliDcA5N ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 7 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tY0re7G6ml +++ mktemp ++ local LAST_ERR=/tmp/tmp.dQNIDV7Q5I ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.tY0re7G6ml ++ cat /tmp/tmp.dQNIDV7Q5I ++ rm /tmp/tmp.tY0re7G6ml /tmp/tmp.dQNIDV7Q5I ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 8 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.L5DCnTPGlT +++ mktemp ++ local LAST_ERR=/tmp/tmp.FuROLmD8FT ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.L5DCnTPGlT ++ cat /tmp/tmp.FuROLmD8FT ++ rm /tmp/tmp.L5DCnTPGlT /tmp/tmp.FuROLmD8FT ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 9 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.36CRdzEeMb +++ mktemp ++ local LAST_ERR=/tmp/tmp.IlfVPvcrXJ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.36CRdzEeMb ++ cat /tmp/tmp.IlfVPvcrXJ ++ rm /tmp/tmp.36CRdzEeMb /tmp/tmp.IlfVPvcrXJ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 10 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.XVOgryH0Pi +++ mktemp ++ local LAST_ERR=/tmp/tmp.KpkxcjIaWh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.XVOgryH0Pi ++ cat /tmp/tmp.KpkxcjIaWh ++ rm /tmp/tmp.XVOgryH0Pi /tmp/tmp.KpkxcjIaWh ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 11 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.h5AAjSuXCu +++ mktemp ++ local LAST_ERR=/tmp/tmp.xinLiUFCYC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.h5AAjSuXCu ++ cat /tmp/tmp.xinLiUFCYC ++ rm /tmp/tmp.h5AAjSuXCu /tmp/tmp.xinLiUFCYC ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 12 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.KzVupAuQpS +++ mktemp ++ local LAST_ERR=/tmp/tmp.3pU4fKb4YX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KzVupAuQpS ++ cat /tmp/tmp.3pU4fKb4YX ++ rm /tmp/tmp.KzVupAuQpS /tmp/tmp.3pU4fKb4YX ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 13 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HeEG9T35Ry +++ mktemp ++ local LAST_ERR=/tmp/tmp.e3gzmemQ87 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HeEG9T35Ry ++ cat /tmp/tmp.e3gzmemQ87 ++ rm /tmp/tmp.HeEG9T35Ry /tmp/tmp.e3gzmemQ87 ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 14 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.iTxQwDMmaC +++ mktemp ++ local LAST_ERR=/tmp/tmp.BHAWqKXTyu ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.iTxQwDMmaC ++ cat /tmp/tmp.BHAWqKXTyu ++ rm /tmp/tmp.iTxQwDMmaC /tmp/tmp.BHAWqKXTyu ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 15 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CXDnMTOT2k +++ mktemp ++ local LAST_ERR=/tmp/tmp.fUAcL3I1mi ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CXDnMTOT2k ++ cat /tmp/tmp.fUAcL3I1mi ++ rm /tmp/tmp.CXDnMTOT2k /tmp/tmp.fUAcL3I1mi ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 16 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xmS3swOK6h +++ mktemp ++ local LAST_ERR=/tmp/tmp.9O9L8uyfIt ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xmS3swOK6h ++ cat /tmp/tmp.9O9L8uyfIt ++ rm /tmp/tmp.xmS3swOK6h /tmp/tmp.9O9L8uyfIt ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 17 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CTvXX5xpRs +++ mktemp ++ local LAST_ERR=/tmp/tmp.Lq6KzZLqZu ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CTvXX5xpRs ++ cat /tmp/tmp.Lq6KzZLqZu ++ rm /tmp/tmp.CTvXX5xpRs /tmp/tmp.Lq6KzZLqZu ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 18 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.GCNAlblSPx +++ mktemp ++ local LAST_ERR=/tmp/tmp.YlnQiv62MZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.GCNAlblSPx ++ cat /tmp/tmp.YlnQiv62MZ ++ rm /tmp/tmp.GCNAlblSPx /tmp/tmp.YlnQiv62MZ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 19 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3bufYM8IT5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.NnpT0rsFQL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.3bufYM8IT5 ++ cat /tmp/tmp.NnpT0rsFQL ++ rm /tmp/tmp.3bufYM8IT5 /tmp/tmp.NnpT0rsFQL ++ return 0 + [[ ready == \r\e\a\d\y ]] + echo .OK .OK + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.custom-replset-name-30986 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-replset-name-30986 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3TxratATYb +++ mktemp ++ local LAST_ERR=/tmp/tmp.wviyME1w6t ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.3TxratATYb ++ cat /tmp/tmp.wviyME1w6t ++ rm /tmp/tmp.3TxratATYb /tmp/tmp.wviyME1w6t ++ return 0 + local client_container=psmdb-client-bb8b97679-w8wf4 + kubectl_bin exec psmdb-client-bb8b97679-w8wf4 -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.uM8bSgIpBU ++ mktemp + local LAST_ERR=/tmp/tmp.tWwLk6kvDI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-w8wf4 -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uM8bSgIpBU Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("7f34b611-e275-4690-82c5-f49cc163bfba") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.tWwLk6kvDI + rm /tmp/tmp.uM8bSgIpBU /tmp/tmp.tWwLk6kvDI + return 0 + sleep 2 + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.custom-replset-name-30986 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.custom-replset-name-30986 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TUj8fr24s0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.zgGLWLGpBn ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TUj8fr24s0 ++ cat /tmp/tmp.zgGLWLGpBn ++ rm /tmp/tmp.TUj8fr24s0 /tmp/tmp.zgGLWLGpBn ++ return 0 + local client_container=psmdb-client-bb8b97679-w8wf4 + kubectl_bin exec psmdb-client-bb8b97679-w8wf4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.uy8aPPN7aH ++ mktemp + local LAST_ERR=/tmp/tmp.S7wwfiZXXY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-w8wf4 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uy8aPPN7aH Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-replset-name-30986.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e4f5457c-73f3-482b-b549-5bd0672ac4d9") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.S7wwfiZXXY + rm /tmp/tmp.uy8aPPN7aH /tmp/tmp.S7wwfiZXXY + return 0 + wait_backup_agent some-name-shard1-0 + local agent_pod=some-name-shard1-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard1-0...2026-03-26T08:19:41.000+0000 I listening for the commands + wait_backup_agent some-name-shard1-1 + local agent_pod=some-name-shard1-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard1-1...2026-03-26T08:19:42.000+0000 I listening for the commands + wait_backup_agent some-name-shard1-2 + local agent_pod=some-name-shard1-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard1-2...2026-03-26T08:19:56.000+0000 I listening for the commands + wait_backup_agent some-name-shard3-0 + local agent_pod=some-name-shard3-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard3-0...2026-03-26T08:19:40.000+0000 I listening for the commands + wait_backup_agent some-name-shard3-1 + local agent_pod=some-name-shard3-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard3-1...2026-03-26T08:19:43.000+0000 I listening for the commands + wait_backup_agent some-name-shard3-2 + local agent_pod=some-name-shard3-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard3-2...2026-03-26T08:19:51.000+0000 I listening for the commands + wait_backup_agent some-name-shard5-0 + local agent_pod=some-name-shard5-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard5-0...2026-03-26T08:19:42.000+0000 I listening for the commands + wait_backup_agent some-name-shard5-1 + local agent_pod=some-name-shard5-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard5-1...2026-03-26T08:19:44.000+0000 I listening for the commands + wait_backup_agent some-name-shard5-2 + local agent_pod=some-name-shard5-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard5-2...2026-03-26T08:19:57.000+0000 I listening for the commands + wait_backup_agent some-name-shard7-0 + local agent_pod=some-name-shard7-0 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard7-0...2026-03-26T08:19:41.000+0000 I listening for the commands + wait_backup_agent some-name-shard7-1 + local agent_pod=some-name-shard7-1 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard7-1...2026-03-26T08:19:45.000+0000 I listening for the commands + wait_backup_agent some-name-shard7-2 + local agent_pod=some-name-shard7-2 + set +o xtrace waiting for pbm-agent to be ready in some-name-shard7-2...2026-03-26T08:19:58.000+0000 I listening for the commands + backup_name_minio=backup-minio + desc 'run backups' + set +o xtrace ----------------------------------------------------------------------------------- run backups ----------------------------------------------------------------------------------- + run_backup minio + local storage=minio + local backup_name=backup-minio + local type=logical + log 'running backup backup-minio' + set +o xtrace [2026-03-26T08:20:34+0000] running backup backup-minio + yq eval '.metadata.name = "backup-minio" | .spec.storageName = "minio" | .spec.type = "logical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/custom-replset-name/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.jW2OsxEAov ++ mktemp + local LAST_ERR=/tmp/tmp.SyYSJSV51I + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jW2OsxEAov perconaservermongodbbackup.psmdb.percona.com/backup-minio created + cat /tmp/tmp.SyYSJSV51I + rm /tmp/tmp.jW2OsxEAov /tmp/tmp.SyYSJSV51I + return 0 + wait_backup backup-minio + local backup_name=backup-minio + local target_state=ready + set +o xtrace waiting for backup-minio to reach ready state...............OK + desc 'check backup and restore -- minio' + set +o xtrace ----------------------------------------------------------------------------------- check backup and restore -- minio ----------------------------------------------------------------------------------- + run_restore backup-minio + local backup_name=backup-minio + local restore_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/custom-replset-name/conf/restore.yml + log 'running restore restore-backup-minio' + set +o xtrace [2026-03-26T08:21:04+0000] running restore restore-backup-minio + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2273/e2e-tests/custom-replset-name/conf/restore.yml + /usr/sbin/sed -e 's/name:/name: restore-backup-minio/' + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.JStZaYFNTQ ++ mktemp + local LAST_ERR=/tmp/tmp.WhJzfSVeEK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JStZaYFNTQ perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio created + cat /tmp/tmp.WhJzfSVeEK + rm /tmp/tmp.JStZaYFNTQ /tmp/tmp.WhJzfSVeEK + return 0 + sleep 120 + wait_restore backup-minio some-name ready + local backup_name=backup-minio + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=1 + local wait_time=1780 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio object to be created.OK Waiting psmdb-restore/restore-backup-minio to reach state "ready" .2026-03-26T08:21:39.245Z DEBUG checking if restore is allowed {"controller": "psmdbrestore-controller", "controllerGroup": "psmdb.percona.com", "controllerKind": "PerconaServerMongoDBRestore", "PerconaServerMongoDBRestore": {"name":"restore-backup-minio","namespace":"custom-replset-name-30986"}, "namespace": "custom-replset-name-30986", "name": "restore-backup-minio", "reconcileID": "4193de99-f32b-48ea-9135-816ac9d79784", "cluster": "some-name", "namespace": "custom-replset-name-30986"} 2026-03-26T08:21:42.676Z ERROR failed to make restore {"controller": "psmdbrestore-controller", "controllerGroup": "psmdb.percona.com", "controllerKind": "PerconaServerMongoDBRestore", "PerconaServerMongoDBRestore": {"name":"restore-backup-minio","namespace":"custom-replset-name-30986"}, "namespace": "custom-replset-name-30986", "name": "restore-backup-minio", "reconcileID": "4193de99-f32b-48ea-9135-816ac9d79784", "restore": "restore-backup-minio", "backup": "backup-minio", "error": "failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head \"http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json\": dial tcp 34.118.236.191:9000: connect: connection refused", "errorVerbose": "operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head \"http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json\": dial tcp 34.118.236.191:9000: connect: connection refused\nget S3 object header\nfetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json\nlist with parts for mw source reader\nget from store\nget backup metadata from storage\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackupInStorage\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:792\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackup\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:762\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:78\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693\nvalidate backup in storage\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackup\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:763\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:78\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693\nfailed to validate backup\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:79\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693"} 2026-03-26T08:21:42.676Z INFO Restore state changed {"controller": "psmdbrestore-controller", "controllerGroup": "psmdb.percona.com", "controllerKind": "PerconaServerMongoDBRestore", "PerconaServerMongoDBRestore": {"name":"restore-backup-minio","namespace":"custom-replset-name-30986"}, "namespace": "custom-replset-name-30986", "name": "restore-backup-minio", "reconcileID": "4193de99-f32b-48ea-9135-816ac9d79784", "previous": "", "current": "error"} 2026-03-26T08:21:43.258Z ERROR Reconciler error {"controller": "psmdbrestore-controller", "controllerGroup": "psmdb.percona.com", "controllerKind": "PerconaServerMongoDBRestore", "PerconaServerMongoDBRestore": {"name":"restore-backup-minio","namespace":"custom-replset-name-30986"}, "namespace": "custom-replset-name-30986", "name": "restore-backup-minio", "reconcileID": "4193de99-f32b-48ea-9135-816ac9d79784", "error": "failed to validate restore: failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head \"http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json\": dial tcp 34.118.236.191:9000: connect: connection refused", "errorVerbose": "operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head \"http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json\": dial tcp 34.118.236.191:9000: connect: connection refused\nget S3 object header\nfetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json\nlist with parts for mw source reader\nget from store\nget backup metadata from storage\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackupInStorage\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:792\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackup\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:762\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:78\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693\nvalidate backup in storage\ngithub.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup.(*pbmC).ValidateBackup\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/psmdb/backup/pbm.go:763\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:78\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693\nfailed to validate backup\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).validate\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/validate.go:79\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:191\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693\nfailed to validate restore\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore.(*ReconcilePerconaServerMongoDBRestore).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:222\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:479\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:438\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.23.1/pkg/internal/controller/controller.go:313\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693"} apiVersion: psmdb.percona.com/v1 kind: PerconaServerMongoDBRestore metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"psmdb.percona.com/v1","kind":"PerconaServerMongoDBRestore","metadata":{"annotations":{},"name":"restore-backup-minio","namespace":"custom-replset-name-30986"},"spec":{"backupName":"backup-minio","clusterName":"some-name"}} creationTimestamp: "2026-03-26T08:21:06Z" generation: 1 name: restore-backup-minio namespace: custom-replset-name-30986 resourceVersion: "1774513302699135020" uid: c479fdf4-5ea5-4bf3-93f5-4ecfd56f4c68 spec: backupName: backup-minio clusterName: some-name status: error: 'failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head "http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json": dial tcp 34.118.236.191:9000: connect: connection refused' state: error Name: restore-backup-minio Namespace: custom-replset-name-30986 Labels: Annotations: API Version: psmdb.percona.com/v1 Kind: PerconaServerMongoDBRestore Metadata: Creation Timestamp: 2026-03-26T08:21:06Z Generation: 1 Resource Version: 1774513302699135020 UID: c479fdf4-5ea5-4bf3-93f5-4ecfd56f4c68 Spec: Backup Name: backup-minio Cluster Name: some-name Status: Error: failed to validate backup: validate backup in storage: get backup metadata from storage: get from store: list with parts for mw source reader: fetching pbm file parts base for 2026-03-26T08:20:37Z.pbm.json: get S3 object header: operation error S3: HeadObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head "http://minio-service:9000/operator-testing/2026-03-26T08%3A20%3A37Z.pbm.json": dial tcp 34.118.236.191:9000: connect: connection refused State: error Events: Restore object restore-backup-minio is in error state after 1 minutes. something went wrong with operator or kubernetes cluster