Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/logs/demand-backup-physical-minio-native-tls.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + create_infra demand-backup-physical-minio-native-tls-4846 + local ns=demand-backup-physical-minio-native-tls-4846 + [[ 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-2342/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.kEDhhBJ3qt ++ mktemp + local LAST_ERR=/tmp/tmp.bwrimbajZq + 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-2342/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kEDhhBJ3qt 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.bwrimbajZq + rm /tmp/tmp.kEDhhBJ3qt /tmp/tmp.bwrimbajZq + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' No resources found + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.XT1OK1ezIG ++ mktemp + local LAST_ERR=/tmp/tmp.1xrSwOeNaV + 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.XT1OK1ezIG + cat /tmp/tmp.1xrSwOeNaV + rm /tmp/tmp.XT1OK1ezIG /tmp/tmp.1xrSwOeNaV + 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.WdfNmDOh86 ++ mktemp + local LAST_ERR=/tmp/tmp.WVzmENPPec + 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.WdfNmDOh86 + cat /tmp/tmp.WVzmENPPec + rm /tmp/tmp.WdfNmDOh86 /tmp/tmp.WVzmENPPec + 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\":[]}}"' No resources found + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.GrZhhLxSUU ++ mktemp + local LAST_ERR=/tmp/tmp.9m95Vp3a7U + 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.GrZhhLxSUU customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com condition met + cat /tmp/tmp.9m95Vp3a7U + rm /tmp/tmp.GrZhhLxSUU /tmp/tmp.9m95Vp3a7U + 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-2342/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.jgcXbMtDIi ++ mktemp + local LAST_ERR=/tmp/tmp.RXxlZPap3B + 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-2342/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jgcXbMtDIi 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.RXxlZPap3B + rm /tmp/tmp.jgcXbMtDIi /tmp/tmp.RXxlZPap3B + return 0 + check_crd_for_deletion PR-2342-888720581 + local git_tag=PR-2342-888720581 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2342-888720581/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.GZwW4mKn47 +++ mktemp ++ local LAST_ERR=/tmp/tmp.zW7W4J2Pf7 ++ 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.GZwW4mKn47 ++ cat /tmp/tmp.zW7W4J2Pf7 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.GZwW4mKn47 ++ cat /tmp/tmp.zW7W4J2Pf7 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.GZwW4mKn47 ++ cat /tmp/tmp.zW7W4J2Pf7 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.GZwW4mKn47 ++ cat /tmp/tmp.zW7W4J2Pf7 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.GZwW4mKn47 /tmp/tmp.zW7W4J2Pf7 ++ 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 + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.Eh2FrXcOt4 ++ mktemp + local LAST_OUT=/tmp/tmp.OaRaq6shWs ++ mktemp + local LAST_ERR=/tmp/tmp.MTXu9Y7M4B + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.Wkz3mboikt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Eh2FrXcOt4 + cat /tmp/tmp.MTXu9Y7M4B + rm /tmp/tmp.Eh2FrXcOt4 /tmp/tmp.MTXu9Y7M4B + return 0 namespace "cert-manager" deleted namespace "demand-backup-physical-minio-native-tls-4418" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OaRaq6shWs namespace "psmdb-operator" deleted + cat /tmp/tmp.Wkz3mboikt + rm /tmp/tmp.OaRaq6shWs /tmp/tmp.Wkz3mboikt + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.ozFPT8Fpch ++ mktemp + local LAST_ERR=/tmp/tmp.XRvqe433B0 + 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.ozFPT8Fpch + cat /tmp/tmp.XRvqe433B0 + rm /tmp/tmp.ozFPT8Fpch /tmp/tmp.XRvqe433B0 + 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.eE0zNv0D0x ++ mktemp + local LAST_ERR=/tmp/tmp.VgDbjb5scM + 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.eE0zNv0D0x namespace/psmdb-operator created + cat /tmp/tmp.VgDbjb5scM + rm /tmp/tmp.eE0zNv0D0x /tmp/tmp.VgDbjb5scM + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.rK9SWa5vVe +++ mktemp ++ local LAST_ERR=/tmp/tmp.iA9WeGJnyB ++ 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.rK9SWa5vVe ++ cat /tmp/tmp.iA9WeGJnyB ++ rm /tmp/tmp.rK9SWa5vVe /tmp/tmp.iA9WeGJnyB ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2342-888720581-4-cluster11 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Id3If1aPh5 ++ mktemp + local LAST_ERR=/tmp/tmp.ZhUJQzbFdL + 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-2342-888720581-4-cluster11 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Id3If1aPh5 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2342-888720581-4-cluster11" modified. + cat /tmp/tmp.ZhUJQzbFdL + rm /tmp/tmp.Id3If1aPh5 /tmp/tmp.ZhUJQzbFdL + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2342-888720581' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2342-888720581 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.A7hExAv8oM ++ mktemp + local LAST_ERR=/tmp/tmp.VPF5bZYOUG + 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-2342/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.A7hExAv8oM 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.VPF5bZYOUG + rm /tmp/tmp.A7hExAv8oM /tmp/tmp.VPF5bZYOUG + 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-2342/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.mSx4eKthBI ++ mktemp + local LAST_ERR=/tmp/tmp.6gfafoxyI2 + 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.mSx4eKthBI 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.6gfafoxyI2 + rm /tmp/tmp.mSx4eKthBI /tmp/tmp.6gfafoxyI2 + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2342-888720581") |\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-2342/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.CVNJv7d7Gz ++ mktemp + local LAST_ERR=/tmp/tmp.yw17WmkdNx + 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.CVNJv7d7Gz deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.yw17WmkdNx + rm /tmp/tmp.CVNJv7d7Gz /tmp/tmp.yw17WmkdNx + 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.T3sroDJcUJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.9dlo7F5Y4d ++ 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.T3sroDJcUJ ++ cat /tmp/tmp.9dlo7F5Y4d ++ rm /tmp/tmp.T3sroDJcUJ /tmp/tmp.9dlo7F5Y4d ++ return 0 + wait_operator_pod percona-server-mongodb-operator-7d4665f47-nsljf + local pod=percona-server-mongodb-operator-7d4665f47-nsljf + set +o xtrace waiting for pod/percona-server-mongodb-operator-7d4665f47-nsljf 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.Lnzc5SEOca +++ mktemp ++ local LAST_ERR=/tmp/tmp.yOhKFrlafW ++ 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.Lnzc5SEOca ++ cat /tmp/tmp.yOhKFrlafW ++ rm /tmp/tmp.Lnzc5SEOca /tmp/tmp.yOhKFrlafW ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-7d4665f47-nsljf ++ mktemp + local LAST_OUT=/tmp/tmp.bANuQuUUJ5 ++ mktemp + local LAST_ERR=/tmp/tmp.OPKtKQDiY6 + 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-7d4665f47-nsljf + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bANuQuUUJ5 + cat /tmp/tmp.OPKtKQDiY6 + rm /tmp/tmp.bANuQuUUJ5 /tmp/tmp.OPKtKQDiY6 + return 0 2026-05-21T08:19:06.332Z INFO setup Manager starting up {"gitCommit": "88872058116bc6bb3da9648e4303fcfe383fba62", "gitBranch": "PR-2342-888720581", "buildTime": "", "goVersion": "go1.26.3", "os": "linux", "arch": "amd64"} + create_namespace demand-backup-physical-minio-native-tls-4846 + local namespace=demand-backup-physical-minio-native-tls-4846 + 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 demand-backup-physical-minio-native-tls-4846' + set +o xtrace ++ mktemp ----------------------------------------------------------------------------------- + xargs kubectl delete ns cleaned up old namespaces demand-backup-physical-minio-native-tls-4846 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace demand-backup-physical-minio-native-tls-4846 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.SZtDRCgVNv ++ mktemp + local LAST_OUT=/tmp/tmp.PTzrIIEbgm ++ mktemp + local LAST_ERR=/tmp/tmp.nSTCAnC3h6 + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.2fXJrYtcTh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace demand-backup-physical-minio-native-tls-4846 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SZtDRCgVNv + cat /tmp/tmp.nSTCAnC3h6 + rm /tmp/tmp.SZtDRCgVNv /tmp/tmp.nSTCAnC3h6 + 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.PTzrIIEbgm + cat /tmp/tmp.2fXJrYtcTh + rm /tmp/tmp.PTzrIIEbgm /tmp/tmp.2fXJrYtcTh + return 0 + kubectl_bin wait --for=delete namespace demand-backup-physical-minio-native-tls-4846 ++ mktemp + local LAST_OUT=/tmp/tmp.lavXyVn58U ++ mktemp + local LAST_ERR=/tmp/tmp.xgSItM4RPs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace demand-backup-physical-minio-native-tls-4846 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lavXyVn58U + cat /tmp/tmp.xgSItM4RPs + rm /tmp/tmp.lavXyVn58U /tmp/tmp.xgSItM4RPs + return 0 + desc 'create namespace demand-backup-physical-minio-native-tls-4846' + set +o xtrace ----------------------------------------------------------------------------------- create namespace demand-backup-physical-minio-native-tls-4846 ----------------------------------------------------------------------------------- + kubectl_bin create namespace demand-backup-physical-minio-native-tls-4846 ++ mktemp + local LAST_OUT=/tmp/tmp.pRUzyc9VmV ++ mktemp + local LAST_ERR=/tmp/tmp.2GouaucmIo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace demand-backup-physical-minio-native-tls-4846 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pRUzyc9VmV namespace/demand-backup-physical-minio-native-tls-4846 created + cat /tmp/tmp.2GouaucmIo + rm /tmp/tmp.pRUzyc9VmV /tmp/tmp.2GouaucmIo + return 0 + set_kube_ctx demand-backup-physical-minio-native-tls-4846 + local namespace=demand-backup-physical-minio-native-tls-4846 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.1F0lQUB4Ma +++ mktemp ++ local LAST_ERR=/tmp/tmp.TU3q2UgMRf ++ 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.1F0lQUB4Ma ++ cat /tmp/tmp.TU3q2UgMRf ++ rm /tmp/tmp.1F0lQUB4Ma /tmp/tmp.TU3q2UgMRf ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2342-888720581-4-cluster11 --namespace=demand-backup-physical-minio-native-tls-4846 ++ mktemp + local LAST_OUT=/tmp/tmp.UqnXc9y8Ix ++ mktemp + local LAST_ERR=/tmp/tmp.qvmLtUIrpH + 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-2342-888720581-4-cluster11 --namespace=demand-backup-physical-minio-native-tls-4846 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.UqnXc9y8Ix Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2342-888720581-4-cluster11" modified. + cat /tmp/tmp.qvmLtUIrpH + rm /tmp/tmp.UqnXc9y8Ix /tmp/tmp.qvmLtUIrpH + return 0 + desc 'Deploy cert-manager for proper certificate generation' + set +o xtrace ----------------------------------------------------------------------------------- Deploy cert-manager for proper certificate generation ----------------------------------------------------------------------------------- + deploy_cert_manager + desc 'deploy cert manager' + set +o xtrace ----------------------------------------------------------------------------------- deploy cert manager ----------------------------------------------------------------------------------- + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.0mVqr9fnEk ++ mktemp + local LAST_ERR=/tmp/tmp.Z18UBseDH1 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace cert-manager + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0mVqr9fnEk namespace/cert-manager created + cat /tmp/tmp.Z18UBseDH1 + rm /tmp/tmp.0mVqr9fnEk /tmp/tmp.Z18UBseDH1 + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.2ZOQhwQccl ++ mktemp + local LAST_ERR=/tmp/tmp.EvqQHvLhig + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2ZOQhwQccl namespace/cert-manager labeled + cat /tmp/tmp.EvqQHvLhig + rm /tmp/tmp.2ZOQhwQccl /tmp/tmp.EvqQHvLhig + return 0 + kubectl_bin apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false ++ mktemp + local LAST_OUT=/tmp/tmp.qIxGjO3aEZ ++ mktemp + local LAST_ERR=/tmp/tmp.Vu9S1OdItD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qIxGjO3aEZ namespace/cert-manager configured customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io unchanged serviceaccount/cert-manager-cainjector created serviceaccount/cert-manager created serviceaccount/cert-manager-webhook created clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-edit unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager-tokenrequest created role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager-tokenrequest created rolebinding.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created service/cert-manager-cainjector created service/cert-manager created service/cert-manager-webhook created deployment.apps/cert-manager-cainjector created deployment.apps/cert-manager created deployment.apps/cert-manager-webhook created mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured + cat /tmp/tmp.Vu9S1OdItD Warning: resource namespaces/cert-manager is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. + rm /tmp/tmp.qIxGjO3aEZ /tmp/tmp.Vu9S1OdItD + return 0 + kubectl_bin -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready ++ mktemp + local LAST_OUT=/tmp/tmp.NDaAPWLOBV ++ mktemp + local LAST_ERR=/tmp/tmp.RyvsO8bUJW + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NDaAPWLOBV pod/cert-manager-559d798845-bdxjx condition met pod/cert-manager-cainjector-64958d9c7c-xgr9l condition met pod/cert-manager-webhook-7fb6f99b56-bhkqw condition met + cat /tmp/tmp.RyvsO8bUJW E0521 08:19:53.024572 564290 reflector.go:227] "Failed to watch" err="Get \"https://34.55.253.72/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-559d798845-bdxjx&resourceVersion=1779351592542200000&timeoutSeconds=389&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" E0521 08:19:53.326018 564290 reflector.go:227] "Failed to watch" err="Get \"https://34.55.253.72/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-cainjector-64958d9c7c-xgr9l&resourceVersion=1779351592542200000&timeoutSeconds=303&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.NDaAPWLOBV /tmp/tmp.RyvsO8bUJW + return 0 + sleep 120 + desc 'Create self-signed issuer' + set +o xtrace ----------------------------------------------------------------------------------- Create self-signed issuer ----------------------------------------------------------------------------------- + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.QYc52rZhpq ++ mktemp + local LAST_ERR=/tmp/tmp.eoofPcakjE + 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.QYc52rZhpq issuer.cert-manager.io/selfsigned-issuer created + cat /tmp/tmp.eoofPcakjE + rm /tmp/tmp.QYc52rZhpq /tmp/tmp.eoofPcakjE + return 0 + desc 'Generate certificate for first MinIO via cert-manager' + set +o xtrace ----------------------------------------------------------------------------------- Generate certificate for first MinIO via cert-manager ----------------------------------------------------------------------------------- + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.q7Ehv8h7jR ++ mktemp + local LAST_ERR=/tmp/tmp.KrCdyd0C93 + 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.q7Ehv8h7jR certificate.cert-manager.io/minio-cert created + cat /tmp/tmp.KrCdyd0C93 Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. + rm /tmp/tmp.q7Ehv8h7jR /tmp/tmp.KrCdyd0C93 + return 0 + kubectl_bin wait --for=condition=Ready certificate/minio-cert -n demand-backup-physical-minio-native-tls-4846 --timeout=120s ++ mktemp + local LAST_OUT=/tmp/tmp.KvHDb36lCc ++ mktemp + local LAST_ERR=/tmp/tmp.YPlMBYDacG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=condition=Ready certificate/minio-cert -n demand-backup-physical-minio-native-tls-4846 --timeout=120s + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KvHDb36lCc certificate.cert-manager.io/minio-cert condition met + cat /tmp/tmp.YPlMBYDacG E0521 08:22:06.512383 584284 reflector.go:227] "Failed to watch" err="Get \"https://34.55.253.72/apis/cert-manager.io/v1/namespaces/demand-backup-physical-minio-native-tls-4846/certificates?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dminio-cert&resourceVersion=1779351725844943018&timeoutSeconds=431&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.KvHDb36lCc /tmp/tmp.YPlMBYDacG + return 0 + kubectl_bin get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.crt}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.kXnkg6csTs ++ mktemp + local LAST_ERR=/tmp/tmp.clpDpkce33 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.crt}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kXnkg6csTs + cat /tmp/tmp.clpDpkce33 + rm /tmp/tmp.kXnkg6csTs /tmp/tmp.clpDpkce33 + return 0 + kubectl_bin get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.key}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.jHCZLnCoCp ++ mktemp + local LAST_ERR=/tmp/tmp.LqoBoOqtFq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.key}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jHCZLnCoCp + cat /tmp/tmp.LqoBoOqtFq + rm /tmp/tmp.jHCZLnCoCp /tmp/tmp.LqoBoOqtFq + return 0 + kubectl_bin create secret generic minio-tls -n demand-backup-physical-minio-native-tls-4846 --from-file=public.crt=/tmp/minio-cert.pem --from-file=private.key=/tmp/minio-key.pem ++ mktemp + local LAST_OUT=/tmp/tmp.2Ux8E00pNg ++ mktemp + local LAST_ERR=/tmp/tmp.7num1Tb9Gv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic minio-tls -n demand-backup-physical-minio-native-tls-4846 --from-file=public.crt=/tmp/minio-cert.pem --from-file=private.key=/tmp/minio-key.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2Ux8E00pNg secret/minio-tls created + cat /tmp/tmp.7num1Tb9Gv + rm /tmp/tmp.2Ux8E00pNg /tmp/tmp.7num1Tb9Gv + return 0 + kubectl_bin create secret generic minio-ca-bundle -n demand-backup-physical-minio-native-tls-4846 --from-file=ca.crt=/tmp/minio-cert.pem ++ mktemp + local LAST_OUT=/tmp/tmp.z8AQTn5rNK ++ mktemp + local LAST_ERR=/tmp/tmp.4geu2l1G2l + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic minio-ca-bundle -n demand-backup-physical-minio-native-tls-4846 --from-file=ca.crt=/tmp/minio-cert.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.z8AQTn5rNK secret/minio-ca-bundle created + cat /tmp/tmp.4geu2l1G2l + rm /tmp/tmp.z8AQTn5rNK /tmp/tmp.4geu2l1G2l + return 0 + desc 'Deploy first MinIO with TLS' + set +o xtrace ----------------------------------------------------------------------------------- Deploy first MinIO with TLS ----------------------------------------------------------------------------------- + deploy_minio minio-tls + local cert_secret=minio-tls + 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 minio-tls ]] + endpoint=https://minio-service:9000 + minio_args+=(--set tls.enabled=true --set tls.certSecret="$cert_secret") + 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 --set tls.enabled=true --set tls.certSecret=minio-tls 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 --set tls.enabled=true --set tls.certSecret=minio-tls minio/minio NAME: minio-service LAST DEPLOYED: Thu May 21 08:22:13 2026 NAMESPACE: demand-backup-physical-minio-native-tls-4846 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-physical-minio-native-tls-4846.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace demand-backup-physical-minio-native-tls-4846 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace demand-backup-physical-minio-native-tls-4846 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-physical-minio-native-tls-4846 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-4846 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.E1uLxxCo61 +++ mktemp ++ local LAST_ERR=/tmp/tmp.2a9dT4QOvP ++ 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.E1uLxxCo61 ++ cat /tmp/tmp.2a9dT4QOvP ++ rm /tmp/tmp.E1uLxxCo61 /tmp/tmp.2a9dT4QOvP ++ return 0 + local MINIO_POD=minio-service-6f4667bf4c-tn2bh + wait_pod minio-service-6f4667bf4c-tn2bh + local pod=minio-service-6f4667bf4c-tn2bh + set +o xtrace waiting for pod/minio-service-6f4667bf4c-tn2bh to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.demand-backup-physical-minio-native-tls-4846.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing https://minio-service:9000 + local bucket=operator-testing + local endpoint=https://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 \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.A6OjMzHwXa ++ mktemp + local LAST_ERR=/tmp/tmp.lt0wVuTK41 + 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 \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.A6OjMzHwXa /usr/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html InsecureRequestWarning) make_bucket: operator-testing /usr/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html InsecureRequestWarning) make_bucket: operator-testing pod "aws-cli" deleted from demand-backup-physical-minio-native-tls-4846 namespace + cat /tmp/tmp.lt0wVuTK41 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. warning: couldn't attach to pod/aws-cli, falling back to streaming logs: Internal error occurred: unable to upgrade connection: container aws-cli not found in pod aws-cli_demand-backup-physical-minio-native-tls-4846 + rm /tmp/tmp.A6OjMzHwXa /tmp/tmp.lt0wVuTK41 + 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-2342/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.rMO0lHfFId ++ mktemp + local LAST_ERR=/tmp/tmp.URRpYxLOb7 + 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-2342/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rMO0lHfFId 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.URRpYxLOb7 + rm /tmp/tmp.rMO0lHfFId /tmp/tmp.URRpYxLOb7 + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/secondary-minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.ED1JbpFMkD ++ mktemp + local LAST_ERR=/tmp/tmp.rMUK2wrXJe + 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-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/secondary-minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ED1JbpFMkD secret/secondary-minio-secret created + cat /tmp/tmp.rMUK2wrXJe + rm /tmp/tmp.ED1JbpFMkD /tmp/tmp.rMUK2wrXJe + return 0 + cluster=some-name + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.zh23lHBMX3 ++ mktemp + local LAST_ERR=/tmp/tmp.rIIwlivaRm + 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-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/secrets.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zh23lHBMX3 secret/some-users created + cat /tmp/tmp.rIIwlivaRm + rm /tmp/tmp.zh23lHBMX3 /tmp/tmp.rIIwlivaRm + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/conf/client_with_tls.yml ++ mktemp + local LAST_OUT=/tmp/tmp.H564HKV3Uy ++ mktemp + local LAST_ERR=/tmp/tmp.B9CslQuVI5 + 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-2342/e2e-tests/conf/client_with_tls.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.H564HKV3Uy deployment.apps/psmdb-client created + cat /tmp/tmp.B9CslQuVI5 + rm /tmp/tmp.H564HKV3Uy /tmp/tmp.B9CslQuVI5 + return 0 + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/some-name-single-ca.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/some-name-single-ca.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/some-name-single-ca.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2342-888720581"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/demand-backup-physical-minio-native-tls-4846/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.Jontk6kMfK ++ mktemp + local LAST_ERR=/tmp/tmp.WFkQM26QHU + 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.Jontk6kMfK perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.WFkQM26QHU + rm /tmp/tmp.Jontk6kMfK /tmp/tmp.WFkQM26QHU + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yFplbdZD76 +++ mktemp ++ local LAST_ERR=/tmp/tmp.IyY7P9DoiL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yFplbdZD76 ++ cat /tmp/tmp.IyY7P9DoiL ++ rm /tmp/tmp.yFplbdZD76 /tmp/tmp.IyY7P9DoiL ++ 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.Wj4RhKw73n +++ mktemp ++ local LAST_ERR=/tmp/tmp.UgcrPht0vM ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Wj4RhKw73n ++ cat /tmp/tmp.UgcrPht0vM ++ rm /tmp/tmp.Wj4RhKw73n /tmp/tmp.UgcrPht0vM ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.82EMui6cQy +++ mktemp ++ local LAST_ERR=/tmp/tmp.h7EXkSw5Ir ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.82EMui6cQy ++ cat /tmp/tmp.h7EXkSw5Ir ++ rm /tmp/tmp.82EMui6cQy /tmp/tmp.h7EXkSw5Ir ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness........... + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.odWnkaifUv +++ mktemp ++ local LAST_ERR=/tmp/tmp.yNP2dakaIV ++ 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.odWnkaifUv ++ cat /tmp/tmp.yNP2dakaIV ++ rm /tmp/tmp.odWnkaifUv /tmp/tmp.yNP2dakaIV ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'Verify CA bundle infrastructure' + set +o xtrace ----------------------------------------------------------------------------------- Verify CA bundle infrastructure ----------------------------------------------------------------------------------- + kubectl_bin exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- test -f /etc/s3/certs/ca-bundle.crt ++ mktemp + local LAST_OUT=/tmp/tmp.dXd44QXKEq ++ mktemp + local LAST_ERR=/tmp/tmp.TacUOlvc7I + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- test -f /etc/s3/certs/ca-bundle.crt + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dXd44QXKEq + cat /tmp/tmp.TacUOlvc7I + rm /tmp/tmp.dXd44QXKEq /tmp/tmp.TacUOlvc7I + return 0 + kubectl_bin exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- env + grep SSL_CERT_FILE ++ mktemp + local LAST_OUT=/tmp/tmp.zXsFDIMJeB ++ mktemp + local LAST_ERR=/tmp/tmp.W6emeSEmVa + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- env + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zXsFDIMJeB + cat /tmp/tmp.W6emeSEmVa + rm /tmp/tmp.zXsFDIMJeB /tmp/tmp.W6emeSEmVa + return 0 SSL_CERT_FILE=/etc/s3/certs/ca-bundle.crt ++ kubectl_bin exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- grep -c 'BEGIN CERTIFICATE' /etc/s3/certs/ca-bundle.crt +++ mktemp ++ local LAST_OUT=/tmp/tmp.1SPFYljyHD +++ mktemp ++ local LAST_ERR=/tmp/tmp.z4Q2zItgjl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- grep -c 'BEGIN CERTIFICATE' /etc/s3/certs/ca-bundle.crt ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1SPFYljyHD ++ cat /tmp/tmp.z4Q2zItgjl ++ rm /tmp/tmp.1SPFYljyHD /tmp/tmp.z4Q2zItgjl ++ return 0 + cert_count=1 + '[' 1 = 1 ']' + desc 'Generate certificate for secondary MinIO' + set +o xtrace ----------------------------------------------------------------------------------- Generate certificate for secondary MinIO ----------------------------------------------------------------------------------- + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.7DaXqV9dRG ++ mktemp + local LAST_ERR=/tmp/tmp.DEnVlyORGz + 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.7DaXqV9dRG certificate.cert-manager.io/secondary-minio-cert created + cat /tmp/tmp.DEnVlyORGz Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. + rm /tmp/tmp.7DaXqV9dRG /tmp/tmp.DEnVlyORGz + return 0 + kubectl_bin wait --for=condition=Ready certificate/secondary-minio-cert -n demand-backup-physical-minio-native-tls-4846 --timeout=120s ++ mktemp + local LAST_OUT=/tmp/tmp.tPHoXm9BGf ++ mktemp + local LAST_ERR=/tmp/tmp.1roCupUMdR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=condition=Ready certificate/secondary-minio-cert -n demand-backup-physical-minio-native-tls-4846 --timeout=120s + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tPHoXm9BGf certificate.cert-manager.io/secondary-minio-cert condition met + cat /tmp/tmp.1roCupUMdR E0521 08:25:17.240897 621734 reflector.go:227] "Failed to watch" err="Get \"https://34.55.253.72/apis/cert-manager.io/v1/namespaces/demand-backup-physical-minio-native-tls-4846/certificates?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dsecondary-minio-cert&resourceVersion=1779351916451311006&timeoutSeconds=383&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.tPHoXm9BGf /tmp/tmp.1roCupUMdR + return 0 + kubectl_bin get secret secondary-minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.crt}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.pNS16eorGz ++ mktemp + local LAST_ERR=/tmp/tmp.Mgsk7ulnsx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret secondary-minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.crt}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pNS16eorGz + cat /tmp/tmp.Mgsk7ulnsx + rm /tmp/tmp.pNS16eorGz /tmp/tmp.Mgsk7ulnsx + return 0 + kubectl_bin get secret secondary-minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.key}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.GjStyk7tB1 ++ mktemp + local LAST_ERR=/tmp/tmp.lLrwqRgzKi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret secondary-minio-tls-temp -n demand-backup-physical-minio-native-tls-4846 -o 'jsonpath={.data.tls\.key}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GjStyk7tB1 + cat /tmp/tmp.lLrwqRgzKi + rm /tmp/tmp.GjStyk7tB1 /tmp/tmp.lLrwqRgzKi + return 0 + kubectl_bin create secret generic secondary-minio-tls -n demand-backup-physical-minio-native-tls-4846 --from-file=public.crt=/tmp/secondary-minio-cert.pem --from-file=private.key=/tmp/secondary-minio-key.pem ++ mktemp + local LAST_OUT=/tmp/tmp.lLoBmOIuiZ ++ mktemp + local LAST_ERR=/tmp/tmp.XIGixksm09 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic secondary-minio-tls -n demand-backup-physical-minio-native-tls-4846 --from-file=public.crt=/tmp/secondary-minio-cert.pem --from-file=private.key=/tmp/secondary-minio-key.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lLoBmOIuiZ secret/secondary-minio-tls created + cat /tmp/tmp.XIGixksm09 + rm /tmp/tmp.lLoBmOIuiZ /tmp/tmp.XIGixksm09 + return 0 + kubectl_bin create secret generic secondary-minio-ca-bundle -n demand-backup-physical-minio-native-tls-4846 --from-file=ca.crt=/tmp/secondary-minio-cert.pem ++ mktemp + local LAST_OUT=/tmp/tmp.UP4tuFzQPA ++ mktemp + local LAST_ERR=/tmp/tmp.PTT7t97aKl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic secondary-minio-ca-bundle -n demand-backup-physical-minio-native-tls-4846 --from-file=ca.crt=/tmp/secondary-minio-cert.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.UP4tuFzQPA secret/secondary-minio-ca-bundle created + cat /tmp/tmp.PTT7t97aKl + rm /tmp/tmp.UP4tuFzQPA /tmp/tmp.PTT7t97aKl + return 0 + deploy_minio secondary-minio-tls secondary-minio-service + local cert_secret=secondary-minio-tls + local service_name=secondary-minio-service + desc 'install MinIO: secondary-minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: secondary-minio-service ----------------------------------------------------------------------------------- + helm uninstall secondary-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://secondary-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=secondary-minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=secondary-minio-service-sa') + local minio_args + [[ -n secondary-minio-tls ]] + endpoint=https://secondary-minio-service:9000 + minio_args+=(--set tls.enabled=true --set tls.certSecret="$cert_secret") + retry 10 60 helm install secondary-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=secondary-minio-service --set serviceAccount.create=true --set serviceAccount.name=secondary-minio-service-sa --set tls.enabled=true --set tls.certSecret=secondary-minio-tls minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install secondary-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=secondary-minio-service --set serviceAccount.create=true --set serviceAccount.name=secondary-minio-service-sa --set tls.enabled=true --set tls.certSecret=secondary-minio-tls minio/minio NAME: secondary-minio-service LAST DEPLOYED: Thu May 21 08:25:22 2026 NAMESPACE: demand-backup-physical-minio-native-tls-4846 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: secondary-minio-service.demand-backup-physical-minio-native-tls-4846.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace demand-backup-physical-minio-native-tls-4846 -l "release=secondary-minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace demand-backup-physical-minio-native-tls-4846 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_secondary-minio-service-local=http://$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-4846 secondary-minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-4846 secondary-minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls secondary-minio-service-local ++ kubectl_bin get pods --selector=release=secondary-minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ioKyj7nzyw +++ mktemp ++ local LAST_ERR=/tmp/tmp.O3tMCk056n ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=secondary-minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ioKyj7nzyw ++ cat /tmp/tmp.O3tMCk056n ++ rm /tmp/tmp.ioKyj7nzyw /tmp/tmp.O3tMCk056n ++ return 0 + local MINIO_POD=secondary-minio-service-656846748c-cf9h6 + wait_pod secondary-minio-service-656846748c-cf9h6 + local pod=secondary-minio-service-656846748c-cf9h6 + set +o xtrace waiting for pod/secondary-minio-service-656846748c-cf9h6 to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname secondary-minio-service --external-name=secondary-minio-service.demand-backup-physical-minio-native-tls-4846.svc.cluster.local --tcp=9000 service/secondary-minio-service created + create_minio_bucket operator-testing https://secondary-minio-service:9000 + local bucket=operator-testing + local endpoint=https://secondary-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 \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://secondary-minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.IUX4qi5umr ++ mktemp + local LAST_ERR=/tmp/tmp.Bb5TPWUIDe + 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 \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://secondary-minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IUX4qi5umr /usr/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html InsecureRequestWarning) make_bucket: operator-testing /usr/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html InsecureRequestWarning) make_bucket: operator-testing pod "aws-cli" deleted from demand-backup-physical-minio-native-tls-4846 namespace + cat /tmp/tmp.Bb5TPWUIDe 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. warning: couldn't attach to pod/aws-cli, falling back to streaming logs: Internal error occurred: unable to upgrade connection: container aws-cli not found in pod aws-cli_demand-backup-physical-minio-native-tls-4846 + rm /tmp/tmp.IUX4qi5umr /tmp/tmp.Bb5TPWUIDe + return 0 + desc 'Add second storage (secondary)' + set +o xtrace ----------------------------------------------------------------------------------- Add second storage (secondary) ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name -n demand-backup-physical-minio-native-tls-4846 --type=merge -p $'\n{\n "spec": {\n "backup": {\n "storages": {\n "secondary": {\n "type": "minio",\n "minio": {\n "credentialsSecret": "secondary-minio-secret",\n "region": "us-east-1",\n "bucket": "operator-testing",\n "endpointUrl": "https://secondary-minio-service:9000",\n "secure": true,\n "insecureSkipTLSVerify": false,\n "caBundle": {\n "name": "secondary-minio-ca-bundle",\n "key": "ca.crt"\n }\n }\n }\n }\n }\n }\n}' ++ mktemp + local LAST_OUT=/tmp/tmp.g6b1MRu8xX ++ mktemp + local LAST_ERR=/tmp/tmp.0SaFzU1Sku + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb some-name -n demand-backup-physical-minio-native-tls-4846 --type=merge -p $'\n{\n "spec": {\n "backup": {\n "storages": {\n "secondary": {\n "type": "minio",\n "minio": {\n "credentialsSecret": "secondary-minio-secret",\n "region": "us-east-1",\n "bucket": "operator-testing",\n "endpointUrl": "https://secondary-minio-service:9000",\n "secure": true,\n "insecureSkipTLSVerify": false,\n "caBundle": {\n "name": "secondary-minio-ca-bundle",\n "key": "ca.crt"\n }\n }\n }\n }\n }\n }\n}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g6b1MRu8xX perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.0SaFzU1Sku + rm /tmp/tmp.g6b1MRu8xX /tmp/tmp.0SaFzU1Sku + return 0 + sleep 300 + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BkGCtjfAWZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.U7fFqb9u2U ++ 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.BkGCtjfAWZ ++ cat /tmp/tmp.U7fFqb9u2U ++ rm /tmp/tmp.BkGCtjfAWZ /tmp/tmp.U7fFqb9u2U ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'Verify merged CA bundle' + set +o xtrace ----------------------------------------------------------------------------------- Verify merged CA bundle ----------------------------------------------------------------------------------- ++ kubectl_bin exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- grep -c 'BEGIN CERTIFICATE' /etc/s3/certs/ca-bundle.crt +++ mktemp ++ local LAST_OUT=/tmp/tmp.d36xwJs4gR +++ mktemp ++ local LAST_ERR=/tmp/tmp.UXrylRj6IH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-4846 -c backup-agent -- grep -c 'BEGIN CERTIFICATE' /etc/s3/certs/ca-bundle.crt ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.d36xwJs4gR ++ cat /tmp/tmp.UXrylRj6IH ++ rm /tmp/tmp.d36xwJs4gR /tmp/tmp.UXrylRj6IH ++ return 0 + cert_count=2 + '[' 2 = 2 ']' + desc 'Backup & restore with merged CA' + set +o xtrace ----------------------------------------------------------------------------------- Backup & restore with merged CA ----------------------------------------------------------------------------------- + wait_for_pbm_operations some-name + local cluster=some-name + set +o xtrace waiting for PBM operation to finish.OK + run_mongo_tls 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + 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.2ZM0OaESIh +++ mktemp ++ local LAST_ERR=/tmp/tmp.VLt1ko2txI ++ 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.2ZM0OaESIh ++ cat /tmp/tmp.VLt1ko2txI ++ rm /tmp/tmp.2ZM0OaESIh /tmp/tmp.VLt1ko2txI ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.BmW2lm3zAQ ++ mktemp + local LAST_ERR=/tmp/tmp.j7nTLlkgNu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.BmW2lm3zAQ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-05-21T08:31:13.312Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("6d3306d1-aee4-4742-906b-3f3890561d03") } Percona Server for MongoDB server version: v8.0.21-9 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.j7nTLlkgNu + rm /tmp/tmp.BmW2lm3zAQ /tmp/tmp.j7nTLlkgNu + return 0 + run_mongo_tls 'db.getSiblingDB("myApp").test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local 'command=db.getSiblingDB("myApp").test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + 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.zaGG1iulKN +++ mktemp ++ local LAST_ERR=/tmp/tmp.VNm8W1dD8q ++ 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.zaGG1iulKN ++ cat /tmp/tmp.VNm8W1dD8q ++ rm /tmp/tmp.zaGG1iulKN /tmp/tmp.VNm8W1dD8q ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.getSiblingDB("myApp").test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.OniAKGWyc5 ++ mktemp + local LAST_ERR=/tmp/tmp.YZBfAMG0Vm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.getSiblingDB("myApp").test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.OniAKGWyc5 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-05-21T08:31:16.006Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("955c15fc-8c1e-4c5a-923a-2d2f0618923a") } Percona Server for MongoDB server version: v8.0.21-9 WARNING: shell and server versions do not match WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.YZBfAMG0Vm + rm /tmp/tmp.OniAKGWyc5 /tmp/tmp.YZBfAMG0Vm + return 0 + backup_name_single=backup-minio + run_backup minio backup-minio physical + local storage=minio + local backup_name=backup-minio + local type=physical + log 'running backup backup-minio' + set +o xtrace [2026-05-21T08:31:16+0000] running backup backup-minio + yq eval $'.metadata.name = "backup-minio"\n\t\t\t| .spec.storageName = "minio"\n\t\t\t| .spec.type = "physical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.MbCUQgH2m7 ++ mktemp + local LAST_ERR=/tmp/tmp.t8pakQlTUA + 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.MbCUQgH2m7 perconaservermongodbbackup.psmdb.percona.com/backup-minio created + cat /tmp/tmp.t8pakQlTUA + rm /tmp/tmp.MbCUQgH2m7 /tmp/tmp.t8pakQlTUA + 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 + check_backup_in_storage backup-minio minio rs0 filelist.pbm https + local backup=backup-minio + local storage_type=minio + local replset=rs0 + local file=filelist.pbm + local protocol=https + local endpoint ++ get_backup_dest backup-minio ++ local backup_name=backup-minio ++ /usr/sbin/sed 's|https://engk8soperators.blob.core.windows.net/||' ++ kubectl_bin get psmdb-backup backup-minio -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' +++ mktemp ++ sed 's|azure://||' ++ local LAST_OUT=/tmp/tmp.yYciBHLqay ++ sed 's|gs://||' +++ mktemp ++ local LAST_ERR=/tmp/tmp.SmH2EcLonG ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup backup-minio -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yYciBHLqay ++ cat /tmp/tmp.SmH2EcLonG ++ rm /tmp/tmp.yYciBHLqay /tmp/tmp.SmH2EcLonG ++ return 0 + backup_dest=operator-testing/2026-05-21T08:31:18Z + case ${storage_type} in + endpoint=minio-service + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- /usr/bin/env 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 https://minio-service:9000 s3 ls s3://operator-testing/2026-05-21T08:31:18Z/rs0/filelist.pbm + grep filelist.pbm ++ mktemp + local LAST_OUT=/tmp/tmp.IeFbb8Tqqi ++ mktemp + local LAST_ERR=/tmp/tmp.MLHT24sW9t + 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 -- /usr/bin/env 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 https://minio-service:9000 s3 ls s3://operator-testing/2026-05-21T08:31:18Z/rs0/filelist.pbm + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IeFbb8Tqqi + cat /tmp/tmp.MLHT24sW9t + rm /tmp/tmp.IeFbb8Tqqi /tmp/tmp.MLHT24sW9t + return 0 2026-05-21 08:31:27 15624 filelist.pbm + run_mongo_tls 'db.getSiblingDB("myApp").test.drop()' myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local 'command=db.getSiblingDB("myApp").test.drop()' + local uri=myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846 + 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.I8mI9Irepw +++ mktemp ++ local LAST_ERR=/tmp/tmp.1s0LcJzx7Y ++ 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.I8mI9Irepw ++ cat /tmp/tmp.1s0LcJzx7Y ++ rm /tmp/tmp.I8mI9Irepw /tmp/tmp.1s0LcJzx7Y ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.getSiblingDB("myApp").test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.cdEnmTXTc0 ++ mktemp + local LAST_ERR=/tmp/tmp.OxNYka6CRW + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''db.getSiblingDB("myApp").test.drop()\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.cdEnmTXTc0 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=true {"t":{"$date":"2026-05-21T08:31:38.291Z"},"s":"I", "c":"NETWORK", "id":5490002, "ctx":"thread1","msg":"Started a new thread for the timer service"} Implicit session: session { "id" : UUID("2458ab4c-3c3d-4141-86f2-13d06b5fae4e") } Percona Server for MongoDB server version: v8.0.21-9 WARNING: shell and server versions do not match true bye + cat /tmp/tmp.OxNYka6CRW + rm /tmp/tmp.cdEnmTXTc0 /tmp/tmp.OxNYka6CRW + return 0 + run_restore backup-minio + local backup_name=backup-minio + local restore_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/restore.yml + log 'running restore restore-backup-minio' + set +o xtrace [2026-05-21T08:31:38+0000] running restore restore-backup-minio + /usr/sbin/sed -e 's/name:/name: restore-backup-minio/' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/conf/restore.yml + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio/' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.LBvPW3x7QS ++ mktemp + local LAST_ERR=/tmp/tmp.tNFdDpWelY + 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.LBvPW3x7QS perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio created + cat /tmp/tmp.tNFdDpWelY + rm /tmp/tmp.LBvPW3x7QS /tmp/tmp.tNFdDpWelY + return 0 + run_recovery_check backup-minio '' '' true + local backup_name=backup-minio + local compare_suffix=_restore + local is_sharded= + local tls=true + wait_restore backup-minio some-name requested 0 3000 + local backup_name=backup-minio + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=3000 + 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 "requested" ...OK after 2 minutes + [[ 0 -eq 1 ]] + echo + compare_kubectl statefulset/some-name-rs0 _restore + local resource=statefulset/some-name-rs0 + local postfix=_restore + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/statefulset_some-name-rs0_restore.yml + local new_result=/tmp/tmp.ms9skZVEZy/statefulset_some-name-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/statefulset_some-name-rs0_restore-oc.yml ']' + kubectl_bin get -o yaml statefulset/some-name-rs0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("demand-backup-physical-minio-native-tls-4846", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.QPCZc2puax ++ mktemp + local LAST_ERR=/tmp/tmp.UQn6k67lyH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/some-name-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QPCZc2puax + cat /tmp/tmp.UQn6k67lyH + rm /tmp/tmp.QPCZc2puax /tmp/tmp.UQn6k67lyH + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.ms9skZVEZy/statefulset_some-name-rs0.yml + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.ms9skZVEZy/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.ms9skZVEZy/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/statefulset_some-name-rs0_restore.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/statefulset_some-name-rs0_restore.yml /tmp/tmp.ms9skZVEZy/statefulset_some-name-rs0.yml + log 'compare_kubectl: statefulset/some-name-rs0 OK' + set +o xtrace [2026-05-21T08:33:46+0000] compare_kubectl: statefulset/some-name-rs0 OK + wait_restore backup-minio some-name ready 0 3000 + local backup_name=backup-minio + 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-minio object to be created.OK Waiting psmdb-restore/restore-backup-minio to reach state "ready" ..OK after 1 minutes + [[ 0 -eq 1 ]] + log 'Physical restore finished: OK' + set +o xtrace [2026-05-21T08:35:25+0000] Physical restore finished: OK ++ kubectl_bin get psmdb some-name -o yaml ++ yq '.metadata.annotations."percona.com/resync-pbm"' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CkYDYTuYH3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.VKi8BBAPzI ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o yaml ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CkYDYTuYH3 ++ cat /tmp/tmp.VKi8BBAPzI ++ rm /tmp/tmp.CkYDYTuYH3 /tmp/tmp.VKi8BBAPzI ++ return 0 + '[' true == null ']' + echo + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kneC1Qb7bF +++ mktemp ++ local LAST_ERR=/tmp/tmp.2lH8ICe5jc ++ 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.kneC1Qb7bF ++ cat /tmp/tmp.2lH8ICe5jc ++ rm /tmp/tmp.kneC1Qb7bF /tmp/tmp.2lH8ICe5jc ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.n1KSmEqWDK +++ mktemp ++ local LAST_ERR=/tmp/tmp.0MxibziG2h ++ 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.n1KSmEqWDK ++ cat /tmp/tmp.0MxibziG2h ++ rm /tmp/tmp.n1KSmEqWDK /tmp/tmp.0MxibziG2h ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5VWFL0MfBz +++ mktemp ++ local LAST_ERR=/tmp/tmp.mMGCUqoFuj ++ 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.5VWFL0MfBz ++ cat /tmp/tmp.mMGCUqoFuj ++ rm /tmp/tmp.5VWFL0MfBz /tmp/tmp.mMGCUqoFuj ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 3 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gBQ6Vmt2M1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CXcM4VfZ8D ++ 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.gBQ6Vmt2M1 ++ cat /tmp/tmp.CXcM4VfZ8D ++ rm /tmp/tmp.gBQ6Vmt2M1 /tmp/tmp.CXcM4VfZ8D ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 4 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kkZdv3Iikj +++ mktemp ++ local LAST_ERR=/tmp/tmp.R3CxGWP0zN ++ 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.kkZdv3Iikj ++ cat /tmp/tmp.R3CxGWP0zN ++ rm /tmp/tmp.kkZdv3Iikj /tmp/tmp.R3CxGWP0zN ++ return 0 + [[ initializing == 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.5tslwYy0eN +++ mktemp ++ local LAST_ERR=/tmp/tmp.TmzLNXaWUM ++ 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.5tslwYy0eN ++ cat /tmp/tmp.TmzLNXaWUM ++ rm /tmp/tmp.5tslwYy0eN /tmp/tmp.TmzLNXaWUM ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 6 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vFU0FCFrXA +++ mktemp ++ local LAST_ERR=/tmp/tmp.pgWGgVRKiZ ++ 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.vFU0FCFrXA ++ cat /tmp/tmp.pgWGgVRKiZ ++ rm /tmp/tmp.vFU0FCFrXA /tmp/tmp.pgWGgVRKiZ ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 7 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PlHgqda9ed +++ mktemp ++ local LAST_ERR=/tmp/tmp.2E6bthplcO ++ 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.PlHgqda9ed ++ cat /tmp/tmp.2E6bthplcO ++ rm /tmp/tmp.PlHgqda9ed /tmp/tmp.2E6bthplcO ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 8 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.q2jqQFuGe3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.lBbElSO9Lx ++ 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.q2jqQFuGe3 ++ cat /tmp/tmp.lBbElSO9Lx ++ rm /tmp/tmp.q2jqQFuGe3 /tmp/tmp.lBbElSO9Lx ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 9 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6dIAyZF4SR +++ mktemp ++ local LAST_ERR=/tmp/tmp.d7BKO3FZGt ++ 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.6dIAyZF4SR ++ cat /tmp/tmp.d7BKO3FZGt ++ rm /tmp/tmp.6dIAyZF4SR /tmp/tmp.d7BKO3FZGt ++ 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 + log 'Operator triggered PBM resync: OK' + set +o xtrace [2026-05-21T08:37:15+0000] Operator triggered PBM resync: OK + '[' -n '' ']' + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-05-21T08:37:15+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + 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.IiwTbpB5is +++ mktemp ++ local LAST_ERR=/tmp/tmp.xCBKU2fxTO ++ 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.IiwTbpB5is ++ cat /tmp/tmp.xCBKU2fxTO ++ rm /tmp/tmp.IiwTbpB5is /tmp/tmp.xCBKU2fxTO ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.oeqKAs7qBn ++ mktemp + local LAST_ERR=/tmp/tmp.KAAbeYn2i5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.oeqKAs7qBn + cat /tmp/tmp.KAAbeYn2i5 + rm /tmp/tmp.oeqKAs7qBn /tmp/tmp.KAAbeYn2i5 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/find.json /tmp/tmp.ms9skZVEZy/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-05-21T08:37:17+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + 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.rLoOpQPInP +++ mktemp ++ local LAST_ERR=/tmp/tmp.jOkA8UK63w ++ 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.rLoOpQPInP ++ cat /tmp/tmp.jOkA8UK63w ++ rm /tmp/tmp.rLoOpQPInP /tmp/tmp.jOkA8UK63w ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.rsMeXjK6zX ++ mktemp + local LAST_ERR=/tmp/tmp.YaMuPJT8jR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.rsMeXjK6zX + cat /tmp/tmp.YaMuPJT8jR + rm /tmp/tmp.rsMeXjK6zX /tmp/tmp.YaMuPJT8jR + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/find.json /tmp/tmp.ms9skZVEZy/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846 '' '' '' '' '' true + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=true + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-05-21T08:37:20+0000] running db.test.find() in myApp + [[ true == true ]] + mongo_command=run_mongo_tls + run_mongo_tls 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846 + local driver=mongodb + local suffix=.svc.cluster.local + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + 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}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.npj1CJ8oB2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.dHKTgeg4l4 ++ 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.npj1CJ8oB2 ++ cat /tmp/tmp.dHKTgeg4l4 ++ rm /tmp/tmp.npj1CJ8oB2 /tmp/tmp.dHKTgeg4l4 ++ return 0 + local client_container=psmdb-client-5649fbb65f-vdp4d + 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-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846 == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.rgL4wRYp02 ++ mktemp + local LAST_ERR=/tmp/tmp.HxiHduwkfy + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-5649fbb65f-vdp4d -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.demand-backup-physical-minio-native-tls-4846.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.rgL4wRYp02 + cat /tmp/tmp.HxiHduwkfy + rm /tmp/tmp.rgL4wRYp02 /tmp/tmp.HxiHduwkfy + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/e2e-tests/demand-backup-physical-minio-native-tls/compare/find.json /tmp/tmp.ms9skZVEZy/find + log 'Data restored: OK' + set +o xtrace [2026-05-21T08:37:22+0000] Data restored: OK + echo some-name-rs0-0:/data/db/pbm-restore-logs some-name-rs0-0:/data/db/pbm-restore-logs + kubectl_bin exec some-name-rs0-0 -- ls -l /data/db/pbm-restore-logs ++ mktemp + local LAST_OUT=/tmp/tmp.cO1JEuMrzH ++ mktemp + local LAST_ERR=/tmp/tmp.LgcWgHZKSG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -- ls -l /data/db/pbm-restore-logs + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cO1JEuMrzH total 536 -rw-rw-r-- 1 mongodb 1001 425193 May 21 08:34 mongod.log -rw-rw-r-- 1 mongodb 1001 40466 May 21 08:35 pbm-agent.log -rw-rw---- 1 mongodb 1001 37757 May 21 08:34 pbm.restore.log.2026-05-21T08-34-38 -rw-rw---- 1 mongodb 1001 40944 May 21 08:34 pbm.restore.log.2026-05-21T08-34-43 + cat /tmp/tmp.LgcWgHZKSG Defaulted container "mongod" out of: mongod, backup-agent, mongo-init (init) + rm /tmp/tmp.cO1JEuMrzH /tmp/tmp.LgcWgHZKSG + return 0 + echo some-name-rs0-1:/data/db/pbm-restore-logs some-name-rs0-1:/data/db/pbm-restore-logs + kubectl_bin exec some-name-rs0-1 -- ls -l /data/db/pbm-restore-logs ++ mktemp + local LAST_OUT=/tmp/tmp.316Y7mFnch ++ mktemp + local LAST_ERR=/tmp/tmp.dSXx0GmYHm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-1 -- ls -l /data/db/pbm-restore-logs + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.316Y7mFnch total 1088 -rw-rw-r-- 1 mongodb 1001 979342 May 21 08:34 mongod.log -rw-rw-r-- 1 mongodb 1001 45514 May 21 08:35 pbm-agent.log -rw-rw---- 1 mongodb 1001 37769 May 21 08:35 pbm.restore.log.2026-05-21T08-35-04 -rw-rw---- 1 mongodb 1001 40942 May 21 08:35 pbm.restore.log.2026-05-21T08-35-09 + cat /tmp/tmp.dSXx0GmYHm Defaulted container "mongod" out of: mongod, backup-agent, mongo-init (init) + rm /tmp/tmp.316Y7mFnch /tmp/tmp.dSXx0GmYHm + return 0 + echo some-name-rs0-2:/data/db/pbm-restore-logs some-name-rs0-2:/data/db/pbm-restore-logs + kubectl_bin exec some-name-rs0-2 -- ls -l /data/db/pbm-restore-logs ++ mktemp + local LAST_OUT=/tmp/tmp.PuBcEDNRWS ++ mktemp + local LAST_ERR=/tmp/tmp.mAXJmASV4P + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-2 -- ls -l /data/db/pbm-restore-logs + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PuBcEDNRWS total 232 -rw-rw-r-- 1 mongodb 1001 113120 May 21 08:34 mongod.log -rw-rw-r-- 1 mongodb 1001 39344 May 21 08:35 pbm-agent.log -rw-rw---- 1 mongodb 1001 36506 May 21 08:34 pbm.restore.log.2026-05-21T08-34-42 -rw-rw---- 1 mongodb 1001 39669 May 21 08:34 pbm.restore.log.2026-05-21T08-34-47 + cat /tmp/tmp.mAXJmASV4P Defaulted container "mongod" out of: mongod, backup-agent, mongo-init (init) + rm /tmp/tmp.PuBcEDNRWS /tmp/tmp.mAXJmASV4P + return 0 + '[' -n '' ']' + log 'Restore logs are preserved: OK' + set +o xtrace [2026-05-21T08:37:27+0000] Restore logs are preserved: OK + rm -f /tmp/minio-cert.pem /tmp/minio-key.pem + rm -f /tmp/secondary-minio-cert.pem /tmp/secondary-minio-key.pem + destroy demand-backup-physical-minio-native-tls-4846 + local namespace=demand-backup-physical-minio-native-tls-4846 + local ignore_logs=true + [[ 0 == 1 ]] + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false ']' + delete_backups + desc 'Delete psmdb-backup' + set +o xtrace ----------------------------------------------------------------------------------- Delete psmdb-backup ----------------------------------------------------------------------------------- ++ kubectl_bin get psmdb-backup --no-headers ++ wc -l +++ mktemp ++ local LAST_OUT=/tmp/tmp.N6ZdAjm1xr +++ mktemp ++ local LAST_ERR=/tmp/tmp.usOTXIO8mz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup --no-headers ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.N6ZdAjm1xr ++ cat /tmp/tmp.usOTXIO8mz ++ rm /tmp/tmp.N6ZdAjm1xr /tmp/tmp.usOTXIO8mz ++ return 0 + '[' 1 '!=' 0 ']' + kubectl_bin get psmdb-backup ++ mktemp + local LAST_OUT=/tmp/tmp.2YMFpd7Ch5 ++ mktemp + local LAST_ERR=/tmp/tmp.H6pdfk3OS5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get psmdb-backup + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2YMFpd7Ch5 NAME CLUSTER STORAGE DESTINATION TYPE SIZE STATUS COMPLETED AGE backup-minio some-name minio s3://operator-testing/2026-05-21T08:31:18Z physical 727.31KB ready 6m 6m10s + cat /tmp/tmp.H6pdfk3OS5 + rm /tmp/tmp.2YMFpd7Ch5 /tmp/tmp.H6pdfk3OS5 + return 0 + kubectl_bin delete psmdb-backup --all ++ mktemp + local LAST_OUT=/tmp/tmp.Z2qQRJ8e6P ++ mktemp + local LAST_ERR=/tmp/tmp.KsQree6kIl + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb-backup --all + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Z2qQRJ8e6P perconaservermongodbbackup.psmdb.percona.com "backup-minio" deleted from demand-backup-physical-minio-native-tls-4846 namespace + cat /tmp/tmp.KsQree6kIl + rm /tmp/tmp.Z2qQRJ8e6P /tmp/tmp.KsQree6kIl + return 0 + 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-2342/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.ZBoDzEo5I2 ++ mktemp + local LAST_ERR=/tmp/tmp.wUoeF9Bgh9 + 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-2342/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZBoDzEo5I2 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.wUoeF9Bgh9 + rm /tmp/tmp.ZBoDzEo5I2 /tmp/tmp.wUoeF9Bgh9 + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2342/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 '\-\-\-') + grep -v NAMESPACE + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + 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.YgtyRBwuPm ++ mktemp + local LAST_ERR=/tmp/tmp.sbvk7eFnMw + 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.YgtyRBwuPm + cat /tmp/tmp.sbvk7eFnMw + rm /tmp/tmp.YgtyRBwuPm /tmp/tmp.sbvk7eFnMw + 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.W47KotVNdq ++ mktemp + local LAST_ERR=/tmp/tmp.ZbQsg71Jpz + 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.W47KotVNdq + cat /tmp/tmp.ZbQsg71Jpz + rm /tmp/tmp.W47KotVNdq /tmp/tmp.ZbQsg71Jpz + 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\":[]}}"' No resources found + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.nskWkoW4dI ++ mktemp + local LAST_ERR=/tmp/tmp.ypxRnVGG8T + 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.nskWkoW4dI customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com condition met + cat /tmp/tmp.ypxRnVGG8T + rm /tmp/tmp.nskWkoW4dI /tmp/tmp.ypxRnVGG8T + 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-2342/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.ZYZmP3a8KQ ++ mktemp + local LAST_ERR=/tmp/tmp.FIF5Y1BxDT + 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-2342/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ZYZmP3a8KQ 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.FIF5Y1BxDT + rm /tmp/tmp.ZYZmP3a8KQ /tmp/tmp.FIF5Y1BxDT + return 0 + destroy_cert_manager + kubectl_bin delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.gypqKeTZuF ++ mktemp + local LAST_ERR=/tmp/tmp.iCyXw2S2sG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gypqKeTZuF namespace "cert-manager" deleted customresourcedefinition.apiextensions.k8s.io "challenges.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "orders.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificaterequests.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificates.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "clusterissuers.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "issuers.cert-manager.io" deleted serviceaccount "cert-manager-cainjector" deleted from cert-manager namespace serviceaccount "cert-manager" deleted from cert-manager namespace serviceaccount "cert-manager-webhook" deleted from cert-manager namespace clusterrole.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-cluster-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-edit" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted role.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager-tokenrequest" deleted from cert-manager namespace role.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace rolebinding.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager-tokenrequest" deleted from cert-manager namespace rolebinding.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace service "cert-manager-cainjector" deleted from cert-manager namespace service "cert-manager" deleted from cert-manager namespace service "cert-manager-webhook" deleted from cert-manager namespace deployment.apps "cert-manager-cainjector" deleted from cert-manager namespace deployment.apps "cert-manager" deleted from cert-manager namespace deployment.apps "cert-manager-webhook" deleted from cert-manager namespace mutatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted validatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted + cat /tmp/tmp.iCyXw2S2sG + rm /tmp/tmp.gypqKeTZuF /tmp/tmp.iCyXw2S2sG + return 0 + '[' -n '' ']' + '[' -n psmdb-operator ']' + rm -rf /tmp/tmp.ms9skZVEZy + kubectl_bin delete --grace-period=0 --force=true namespace demand-backup-physical-minio-native-tls-4846 + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator ++ mktemp ++ mktemp + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- + local LAST_OUT=/tmp/tmp.AeAEUQfroI ++ mktemp + local LAST_ERR=/tmp/tmp.nxrbZbZfRA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + local LAST_OUT=/tmp/tmp.oDjDRWj9xh + kubectl delete --grace-period=0 --force=true namespace psmdb-operator ++ mktemp + local LAST_ERR=/tmp/tmp.ip6boyz6Fq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace demand-backup-physical-minio-native-tls-4846