Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/logs/demand-backup-physical-minio-native-tls.log Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.31) exceeds the supported minor version skew of +/-1 + create_infra demand-backup-physical-minio-native-tls-21656 + local ns=demand-backup-physical-minio-native-tls-21656 + [[ 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-2211/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.L3Km2S1uM7 ++ mktemp + local LAST_ERR=/tmp/tmp.hKpjFHfLPC + 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-2211/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.L3Km2S1uM7 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.hKpjFHfLPC + rm /tmp/tmp.L3Km2S1uM7 /tmp/tmp.hKpjFHfLPC + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/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.Ahb4G8dDpm ++ mktemp + local LAST_ERR=/tmp/tmp.UFUcEzVEPh + 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.Ahb4G8dDpm customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com condition met + cat /tmp/tmp.UFUcEzVEPh + rm /tmp/tmp.Ahb4G8dDpm /tmp/tmp.UFUcEzVEPh + 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.jRMNtl6QHA ++ mktemp + local LAST_ERR=/tmp/tmp.PDdXpZiFt6 + 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.jRMNtl6QHA + cat /tmp/tmp.PDdXpZiFt6 + rm /tmp/tmp.jRMNtl6QHA /tmp/tmp.PDdXpZiFt6 + 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.7J997JY52M ++ mktemp + local LAST_ERR=/tmp/tmp.2sVNIvnXZ3 + 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.7J997JY52M customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com condition met + cat /tmp/tmp.2sVNIvnXZ3 + rm /tmp/tmp.7J997JY52M /tmp/tmp.2sVNIvnXZ3 + 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-2211/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.if7DFxJfGD ++ mktemp + local LAST_ERR=/tmp/tmp.flvzfarqjO + 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-2211/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.if7DFxJfGD 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.flvzfarqjO + rm /tmp/tmp.if7DFxJfGD /tmp/tmp.flvzfarqjO + return 0 + check_crd_for_deletion PR-2211-93bbeff0 + local git_tag=PR-2211-93bbeff0 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2211-93bbeff0/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.7Bei5KcTBs +++ mktemp ++ local LAST_ERR=/tmp/tmp.rkzKNOrGUA ++ 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.7Bei5KcTBs ++ cat /tmp/tmp.rkzKNOrGUA 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.7Bei5KcTBs ++ cat /tmp/tmp.rkzKNOrGUA 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.7Bei5KcTBs ++ cat /tmp/tmp.rkzKNOrGUA Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.7Bei5KcTBs ++ cat /tmp/tmp.rkzKNOrGUA Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.7Bei5KcTBs /tmp/tmp.rkzKNOrGUA ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + awk '{print$1}' + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.gJqEgYqSPP + local LAST_OUT=/tmp/tmp.KJb2wuGOTX ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.KyDRjjxB9P + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.RqGuVWJViA + 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.gJqEgYqSPP + cat /tmp/tmp.KyDRjjxB9P + rm /tmp/tmp.gJqEgYqSPP /tmp/tmp.KyDRjjxB9P + return 0 namespace "cert-manager" deleted namespace "demand-backup-physical-minio-native-tls-2230" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KJb2wuGOTX namespace "psmdb-operator" deleted + cat /tmp/tmp.RqGuVWJViA + rm /tmp/tmp.KJb2wuGOTX /tmp/tmp.RqGuVWJViA + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.5xE4t7MJip ++ mktemp + local LAST_ERR=/tmp/tmp.8uTNIZE1JY + 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.5xE4t7MJip + cat /tmp/tmp.8uTNIZE1JY + rm /tmp/tmp.5xE4t7MJip /tmp/tmp.8uTNIZE1JY + 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.SbNKTlZtqn ++ mktemp + local LAST_ERR=/tmp/tmp.PrY8RSzy9W + 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.SbNKTlZtqn namespace/psmdb-operator created + cat /tmp/tmp.PrY8RSzy9W + rm /tmp/tmp.SbNKTlZtqn /tmp/tmp.PrY8RSzy9W + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.c90k7s8C4a +++ mktemp ++ local LAST_ERR=/tmp/tmp.jN6TTfpnFP ++ 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.c90k7s8C4a ++ cat /tmp/tmp.jN6TTfpnFP ++ rm /tmp/tmp.c90k7s8C4a /tmp/tmp.jN6TTfpnFP ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2211-93bbeff0-4-cluster1 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.zfkVdAwoRq ++ mktemp + local LAST_ERR=/tmp/tmp.3Y4O5WtWha + 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-2211-93bbeff0-4-cluster1 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zfkVdAwoRq Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2211-93bbeff0-4-cluster1" modified. + cat /tmp/tmp.3Y4O5WtWha + rm /tmp/tmp.zfkVdAwoRq /tmp/tmp.3Y4O5WtWha + return 0 + deploy_operator + desc 'start PSMDB operator: perconalab/percona-server-mongodb-operator:PR-2211-93bbeff0' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: perconalab/percona-server-mongodb-operator:PR-2211-93bbeff0 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.BBsjSchpH3 ++ mktemp + local LAST_ERR=/tmp/tmp.OJ7E0S3HCP + 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-2211/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BBsjSchpH3 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.OJ7E0S3HCP + rm /tmp/tmp.BBsjSchpH3 /tmp/tmp.OJ7E0S3HCP + 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-2211/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.R8soZlXxXq ++ mktemp + local LAST_ERR=/tmp/tmp.fRXLqIXkr4 + 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.R8soZlXxXq 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.fRXLqIXkr4 + rm /tmp/tmp.R8soZlXxXq /tmp/tmp.fRXLqIXkr4 + return 0 + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-2211-93bbeff0") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.aWz8BQVxMO ++ mktemp + local LAST_ERR=/tmp/tmp.kZOZHn8Zux + 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.aWz8BQVxMO deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.kZOZHn8Zux + rm /tmp/tmp.aWz8BQVxMO /tmp/tmp.kZOZHn8Zux + 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.aTi7fbR1Ov +++ mktemp ++ local LAST_ERR=/tmp/tmp.zUTIgXI20r ++ 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.aTi7fbR1Ov ++ cat /tmp/tmp.zUTIgXI20r ++ rm /tmp/tmp.aTi7fbR1Ov /tmp/tmp.zUTIgXI20r ++ return 0 + wait_operator_pod percona-server-mongodb-operator-d87d974b-5v4m2 + local pod=percona-server-mongodb-operator-d87d974b-5v4m2 + set +o xtrace waiting for pod/percona-server-mongodb-operator-d87d974b-5v4m2 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.rkMaZP2XGa +++ mktemp ++ local LAST_ERR=/tmp/tmp.utOlm9H4wL ++ 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.rkMaZP2XGa ++ cat /tmp/tmp.utOlm9H4wL ++ rm /tmp/tmp.rkMaZP2XGa /tmp/tmp.utOlm9H4wL ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-d87d974b-5v4m2 ++ mktemp + local LAST_OUT=/tmp/tmp.4C3gbf0Mdk ++ mktemp + local LAST_ERR=/tmp/tmp.Xqo9xhlGs0 + 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-d87d974b-5v4m2 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.4C3gbf0Mdk + cat /tmp/tmp.Xqo9xhlGs0 + rm /tmp/tmp.4C3gbf0Mdk /tmp/tmp.Xqo9xhlGs0 + return 0 2026-01-21T11:49:34.261Z INFO setup Manager starting up {"gitCommit": "93bbeff0e46b5fd35662b2bb1ab50298b3878f48", "gitBranch": "PR-2211-93bbeff0", "buildTime": "", "goVersion": "go1.25.6", "os": "linux", "arch": "amd64"} + create_namespace demand-backup-physical-minio-native-tls-21656 + local namespace=demand-backup-physical-minio-native-tls-21656 + 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-21656' + set +o xtrace + xargs kubectl delete ns ++ mktemp ----------------------------------------------------------------------------------- cleaned up old namespaces demand-backup-physical-minio-native-tls-21656 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace demand-backup-physical-minio-native-tls-21656 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.N1lDVTdbnW + local LAST_OUT=/tmp/tmp.Xde1VWF0Oe ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.rUPOSoN2wM + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.c1mRHFPLhA + 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-21656 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.N1lDVTdbnW + cat /tmp/tmp.rUPOSoN2wM + rm /tmp/tmp.N1lDVTdbnW /tmp/tmp.rUPOSoN2wM + 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.Xde1VWF0Oe + cat /tmp/tmp.c1mRHFPLhA + rm /tmp/tmp.Xde1VWF0Oe /tmp/tmp.c1mRHFPLhA + return 0 + kubectl_bin wait --for=delete namespace demand-backup-physical-minio-native-tls-21656 ++ mktemp + local LAST_OUT=/tmp/tmp.QCKqa4qa2o ++ mktemp + local LAST_ERR=/tmp/tmp.IeOJoBx8DD + 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-21656 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QCKqa4qa2o + cat /tmp/tmp.IeOJoBx8DD + rm /tmp/tmp.QCKqa4qa2o /tmp/tmp.IeOJoBx8DD + return 0 + desc 'create namespace demand-backup-physical-minio-native-tls-21656' + set +o xtrace ----------------------------------------------------------------------------------- create namespace demand-backup-physical-minio-native-tls-21656 ----------------------------------------------------------------------------------- + kubectl_bin create namespace demand-backup-physical-minio-native-tls-21656 ++ mktemp + local LAST_OUT=/tmp/tmp.RZj1f5bSsm ++ mktemp + local LAST_ERR=/tmp/tmp.MBeTkn10Kf + 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-21656 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RZj1f5bSsm namespace/demand-backup-physical-minio-native-tls-21656 created + cat /tmp/tmp.MBeTkn10Kf + rm /tmp/tmp.RZj1f5bSsm /tmp/tmp.MBeTkn10Kf + return 0 + set_kube_ctx demand-backup-physical-minio-native-tls-21656 + local namespace=demand-backup-physical-minio-native-tls-21656 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.Bh27XKfqES +++ mktemp ++ local LAST_ERR=/tmp/tmp.XaUjsXm4qX ++ 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.Bh27XKfqES ++ cat /tmp/tmp.XaUjsXm4qX ++ rm /tmp/tmp.Bh27XKfqES /tmp/tmp.XaUjsXm4qX ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2211-93bbeff0-4-cluster1 --namespace=demand-backup-physical-minio-native-tls-21656 ++ mktemp + local LAST_OUT=/tmp/tmp.oY1w1MLIru ++ mktemp + local LAST_ERR=/tmp/tmp.JBcMYLJLqH + 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-2211-93bbeff0-4-cluster1 --namespace=demand-backup-physical-minio-native-tls-21656 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oY1w1MLIru Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2211-93bbeff0-4-cluster1" modified. + cat /tmp/tmp.JBcMYLJLqH + rm /tmp/tmp.oY1w1MLIru /tmp/tmp.JBcMYLJLqH + 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.WFiLK1LXbe ++ mktemp + local LAST_ERR=/tmp/tmp.dUlWoi2ACP + 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.WFiLK1LXbe namespace/cert-manager created + cat /tmp/tmp.dUlWoi2ACP + rm /tmp/tmp.WFiLK1LXbe /tmp/tmp.dUlWoi2ACP + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.mZ9IZU0Tws ++ mktemp + local LAST_ERR=/tmp/tmp.C7UTpzzV4G + 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.mZ9IZU0Tws namespace/cert-manager labeled + cat /tmp/tmp.C7UTpzzV4G + rm /tmp/tmp.mZ9IZU0Tws /tmp/tmp.C7UTpzzV4G + return 0 + kubectl_bin apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.1/cert-manager.yaml --validate=false ++ mktemp + local LAST_OUT=/tmp/tmp.pPYaqQacyN ++ mktemp + local LAST_ERR=/tmp/tmp.GYvzxKNjfi + 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.1/cert-manager.yaml --validate=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pPYaqQacyN 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.GYvzxKNjfi 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.pPYaqQacyN /tmp/tmp.GYvzxKNjfi + 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.lhV2uhPrEg ++ mktemp + local LAST_ERR=/tmp/tmp.xEWbKprWtV + 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.lhV2uhPrEg pod/cert-manager-cainjector-5dc9c8b4f7-brmjk condition met pod/cert-manager-df4b69479-5xd4v condition met pod/cert-manager-webhook-769bbb594d-wlgfx condition met + cat /tmp/tmp.xEWbKprWtV + rm /tmp/tmp.lhV2uhPrEg /tmp/tmp.xEWbKprWtV + 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.0FrFfCkVn9 ++ mktemp + local LAST_ERR=/tmp/tmp.q0j8GhxL71 + 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.0FrFfCkVn9 issuer.cert-manager.io/selfsigned-issuer created + cat /tmp/tmp.q0j8GhxL71 + rm /tmp/tmp.0FrFfCkVn9 /tmp/tmp.q0j8GhxL71 + 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.Ot2kZSaH5C ++ mktemp + local LAST_ERR=/tmp/tmp.lmdP9A6rJ2 + 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.Ot2kZSaH5C certificate.cert-manager.io/minio-cert created + cat /tmp/tmp.lmdP9A6rJ2 Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. + rm /tmp/tmp.Ot2kZSaH5C /tmp/tmp.lmdP9A6rJ2 + return 0 + kubectl_bin wait --for=condition=Ready certificate/minio-cert -n demand-backup-physical-minio-native-tls-21656 --timeout=120s ++ mktemp + local LAST_OUT=/tmp/tmp.1kkR6SYyrY ++ mktemp + local LAST_ERR=/tmp/tmp.S679zvJoBG + 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-21656 --timeout=120s + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1kkR6SYyrY certificate.cert-manager.io/minio-cert condition met + cat /tmp/tmp.S679zvJoBG + rm /tmp/tmp.1kkR6SYyrY /tmp/tmp.S679zvJoBG + return 0 + kubectl_bin get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.crt}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.hVV1XmGR1M ++ mktemp + local LAST_ERR=/tmp/tmp.pPM2igQNxZ + 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-21656 -o 'jsonpath={.data.tls\.crt}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hVV1XmGR1M + cat /tmp/tmp.pPM2igQNxZ + rm /tmp/tmp.hVV1XmGR1M /tmp/tmp.pPM2igQNxZ + return 0 + kubectl_bin get secret minio-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.key}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.r6iiOmh9EU ++ mktemp + local LAST_ERR=/tmp/tmp.4O1kVEwzDx + 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-21656 -o 'jsonpath={.data.tls\.key}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.r6iiOmh9EU + cat /tmp/tmp.4O1kVEwzDx + rm /tmp/tmp.r6iiOmh9EU /tmp/tmp.4O1kVEwzDx + return 0 + kubectl_bin create secret generic minio-tls -n demand-backup-physical-minio-native-tls-21656 --from-file=public.crt=/tmp/minio-cert.pem --from-file=private.key=/tmp/minio-key.pem ++ mktemp + local LAST_OUT=/tmp/tmp.XLiXvmNBBX ++ mktemp + local LAST_ERR=/tmp/tmp.GFN2qxl9qL + 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-21656 --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.XLiXvmNBBX secret/minio-tls created + cat /tmp/tmp.GFN2qxl9qL + rm /tmp/tmp.XLiXvmNBBX /tmp/tmp.GFN2qxl9qL + return 0 + kubectl_bin create secret generic minio-ca-bundle -n demand-backup-physical-minio-native-tls-21656 --from-file=ca.crt=/tmp/minio-cert.pem ++ mktemp + local LAST_OUT=/tmp/tmp.SQh4YbJ7eT ++ mktemp + local LAST_ERR=/tmp/tmp.brlMqjBcv9 + 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-21656 --from-file=ca.crt=/tmp/minio-cert.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SQh4YbJ7eT secret/minio-ca-bundle created + cat /tmp/tmp.brlMqjBcv9 + rm /tmp/tmp.SQh4YbJ7eT /tmp/tmp.brlMqjBcv9 + 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: Wed Jan 21 11:52:33 2026 NAMESPACE: demand-backup-physical-minio-native-tls-21656 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-21656.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-21656 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace demand-backup-physical-minio-native-tls-21656 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-21656 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-21656 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.PW4znvIUAv +++ mktemp ++ local LAST_ERR=/tmp/tmp.WTLmBWcTSy ++ 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.PW4znvIUAv ++ cat /tmp/tmp.WTLmBWcTSy ++ rm /tmp/tmp.PW4znvIUAv /tmp/tmp.WTLmBWcTSy ++ return 0 + local MINIO_POD=minio-service-6856c665f-5xcb6 + wait_pod minio-service-6856c665f-5xcb6 + local pod=minio-service-6856c665f-5xcb6 + set +o xtrace waiting for pod/minio-service-6856c665f-5xcb6 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-21656.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=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.Rbv64nNxQM ++ mktemp + local LAST_ERR=/tmp/tmp.cY3hv5k7KK + 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=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Rbv64nNxQM /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-21656 namespace + cat /tmp/tmp.cY3hv5k7KK 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-21656 + rm /tmp/tmp.Rbv64nNxQM /tmp/tmp.cY3hv5k7KK + 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-2211/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.us6xkBjYX1 ++ mktemp + local LAST_ERR=/tmp/tmp.cUzHVz25sl + 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-2211/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.us6xkBjYX1 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.cUzHVz25sl + rm /tmp/tmp.us6xkBjYX1 /tmp/tmp.cUzHVz25sl + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/minio2-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.cheYhtX5wH ++ mktemp + local LAST_ERR=/tmp/tmp.IzJVmASPCF + 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-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/minio2-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cheYhtX5wH secret/minio2-secret created + cat /tmp/tmp.IzJVmASPCF + rm /tmp/tmp.cheYhtX5wH /tmp/tmp.IzJVmASPCF + return 0 + cluster=some-name + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.KdwqN5raFo ++ mktemp + local LAST_ERR=/tmp/tmp.IWPRMf0LgK + 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-2211/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.KdwqN5raFo secret/some-users created + cat /tmp/tmp.IWPRMf0LgK + rm /tmp/tmp.KdwqN5raFo /tmp/tmp.IWPRMf0LgK + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/conf/client_with_tls.yml ++ mktemp + local LAST_OUT=/tmp/tmp.lrejso8pGI ++ mktemp + local LAST_ERR=/tmp/tmp.e8J8NsU5ZP + 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-2211/e2e-tests/conf/client_with_tls.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lrejso8pGI deployment.apps/psmdb-client created + cat /tmp/tmp.e8J8NsU5ZP + rm /tmp/tmp.lrejso8pGI /tmp/tmp.e8J8NsU5ZP + return 0 + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/some-name-single-ca.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2211/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-2211/e2e-tests/demand-backup-physical-minio-native-tls/conf/some-name-single-ca.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-2211-93bbeff0"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/demand-backup-physical-minio-native-tls-21656/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.uNDNM9lJMv ++ mktemp + local LAST_ERR=/tmp/tmp.7ZUzNSNISY + 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.uNDNM9lJMv perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.7ZUzNSNISY + rm /tmp/tmp.uNDNM9lJMv /tmp/tmp.7ZUzNSNISY + 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.USusW5wa7x +++ mktemp ++ local LAST_ERR=/tmp/tmp.i5o36UF0H1 ++ 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.USusW5wa7x ++ cat /tmp/tmp.i5o36UF0H1 ++ rm /tmp/tmp.USusW5wa7x /tmp/tmp.i5o36UF0H1 ++ return 0 + [[ '' == \t\r\u\e ]] + 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.3iDz3INhxI +++ mktemp ++ local LAST_ERR=/tmp/tmp.2RFy7K7s9o ++ 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.3iDz3INhxI ++ cat /tmp/tmp.2RFy7K7s9o ++ rm /tmp/tmp.3iDz3INhxI /tmp/tmp.2RFy7K7s9o ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wXyoSGdflv +++ mktemp ++ local LAST_ERR=/tmp/tmp.mblAXZojX6 ++ 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.wXyoSGdflv ++ cat /tmp/tmp.mblAXZojX6 ++ rm /tmp/tmp.wXyoSGdflv /tmp/tmp.mblAXZojX6 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + 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.atJEBIWwnJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.AFgObbF7vV ++ 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.atJEBIWwnJ ++ cat /tmp/tmp.AFgObbF7vV ++ rm /tmp/tmp.atJEBIWwnJ /tmp/tmp.AFgObbF7vV ++ return 0 + [[ ready == \r\e\a\d\y ]] + 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-21656 -c backup-agent -- test -f /etc/s3/certs/ca-bundle.crt ++ mktemp + local LAST_OUT=/tmp/tmp.N5zcLGa6AQ ++ mktemp + local LAST_ERR=/tmp/tmp.rK9aL2BS7S + 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-21656 -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.N5zcLGa6AQ + cat /tmp/tmp.rK9aL2BS7S + rm /tmp/tmp.N5zcLGa6AQ /tmp/tmp.rK9aL2BS7S + return 0 + kubectl_bin exec some-name-rs0-0 -n demand-backup-physical-minio-native-tls-21656 -c backup-agent -- env + grep SSL_CERT_FILE ++ mktemp + local LAST_OUT=/tmp/tmp.a7qPlYrjwG ++ mktemp + local LAST_ERR=/tmp/tmp.MA9qMv0thG + 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-21656 -c backup-agent -- env + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.a7qPlYrjwG + cat /tmp/tmp.MA9qMv0thG + rm /tmp/tmp.a7qPlYrjwG /tmp/tmp.MA9qMv0thG + 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-21656 -c backup-agent -- grep -c 'BEGIN CERTIFICATE' /etc/s3/certs/ca-bundle.crt +++ mktemp ++ local LAST_OUT=/tmp/tmp.9fzHRabuoY +++ mktemp ++ local LAST_ERR=/tmp/tmp.PFE0BZYr99 ++ 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-21656 -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.9fzHRabuoY ++ cat /tmp/tmp.PFE0BZYr99 ++ rm /tmp/tmp.9fzHRabuoY /tmp/tmp.PFE0BZYr99 ++ return 0 + cert_count=1 + '[' 1 = 1 ']' + desc 'Generate certificate for second MinIO' + set +o xtrace ----------------------------------------------------------------------------------- Generate certificate for second MinIO ----------------------------------------------------------------------------------- + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.VhPW9Sz5Xn ++ mktemp + local LAST_ERR=/tmp/tmp.pw0riPIEBc + 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.VhPW9Sz5Xn certificate.cert-manager.io/minio2-cert created + cat /tmp/tmp.pw0riPIEBc Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. + rm /tmp/tmp.VhPW9Sz5Xn /tmp/tmp.pw0riPIEBc + return 0 + kubectl_bin wait --for=condition=Ready certificate/minio2-cert -n demand-backup-physical-minio-native-tls-21656 --timeout=120s ++ mktemp + local LAST_OUT=/tmp/tmp.fwuwoZKvUf ++ mktemp + local LAST_ERR=/tmp/tmp.VRpncrWn1V + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=condition=Ready certificate/minio2-cert -n demand-backup-physical-minio-native-tls-21656 --timeout=120s + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fwuwoZKvUf certificate.cert-manager.io/minio2-cert condition met + cat /tmp/tmp.VRpncrWn1V + rm /tmp/tmp.fwuwoZKvUf /tmp/tmp.VRpncrWn1V + return 0 + kubectl_bin get secret minio2-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.crt}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.p5iFsFrIBP ++ mktemp + local LAST_ERR=/tmp/tmp.etFbgspYNR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret minio2-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.crt}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.p5iFsFrIBP + cat /tmp/tmp.etFbgspYNR + rm /tmp/tmp.p5iFsFrIBP /tmp/tmp.etFbgspYNR + return 0 + kubectl_bin get secret minio2-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.key}' + base64 -d ++ mktemp + local LAST_OUT=/tmp/tmp.eeKizqp1jY ++ mktemp + local LAST_ERR=/tmp/tmp.IEJCKPOdkv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get secret minio2-tls-temp -n demand-backup-physical-minio-native-tls-21656 -o 'jsonpath={.data.tls\.key}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.eeKizqp1jY + cat /tmp/tmp.IEJCKPOdkv + rm /tmp/tmp.eeKizqp1jY /tmp/tmp.IEJCKPOdkv + return 0 + kubectl_bin create secret generic minio2-tls -n demand-backup-physical-minio-native-tls-21656 --from-file=public.crt=/tmp/minio2-cert.pem --from-file=private.key=/tmp/minio2-key.pem ++ mktemp + local LAST_OUT=/tmp/tmp.yaouKcozfN ++ mktemp + local LAST_ERR=/tmp/tmp.kBwAkY80Zb + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic minio2-tls -n demand-backup-physical-minio-native-tls-21656 --from-file=public.crt=/tmp/minio2-cert.pem --from-file=private.key=/tmp/minio2-key.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yaouKcozfN secret/minio2-tls created + cat /tmp/tmp.kBwAkY80Zb + rm /tmp/tmp.yaouKcozfN /tmp/tmp.kBwAkY80Zb + return 0 + kubectl_bin create secret generic minio2-ca-bundle -n demand-backup-physical-minio-native-tls-21656 --from-file=ca.crt=/tmp/minio2-cert.pem ++ mktemp + local LAST_OUT=/tmp/tmp.qCYS2SON4N ++ mktemp + local LAST_ERR=/tmp/tmp.nj2tMiK7l2 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic minio2-ca-bundle -n demand-backup-physical-minio-native-tls-21656 --from-file=ca.crt=/tmp/minio2-cert.pem + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qCYS2SON4N secret/minio2-ca-bundle created + cat /tmp/tmp.nj2tMiK7l2 + rm /tmp/tmp.qCYS2SON4N /tmp/tmp.nj2tMiK7l2 + return 0 + deploy_minio minio2-tls minio2-service + local cert_secret=minio2-tls + local service_name=minio2-service + desc 'install MinIO: minio2-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio2-service ----------------------------------------------------------------------------------- + helm uninstall minio2-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://minio2-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=minio2-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio2-service-sa') + local minio_args + [[ -n minio2-tls ]] + endpoint=https://minio2-service:9000 + minio_args+=(--set tls.enabled=true --set tls.certSecret="$cert_secret") + retry 10 60 helm install minio2-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=minio2-service --set serviceAccount.create=true --set serviceAccount.name=minio2-service-sa --set tls.enabled=true --set tls.certSecret=minio2-tls minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio2-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=minio2-service --set serviceAccount.create=true --set serviceAccount.name=minio2-service-sa --set tls.enabled=true --set tls.certSecret=minio2-tls minio/minio NAME: minio2-service LAST DEPLOYED: Wed Jan 21 11:55:04 2026 NAMESPACE: demand-backup-physical-minio-native-tls-21656 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio2-service.demand-backup-physical-minio-native-tls-21656.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-21656 -l "release=minio2-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace demand-backup-physical-minio-native-tls-21656 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_minio2-service-local=http://$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-21656 minio2-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace demand-backup-physical-minio-native-tls-21656 minio2-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio2-service-local ++ kubectl_bin get pods --selector=release=minio2-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.d6sbDg7jSW +++ mktemp ++ local LAST_ERR=/tmp/tmp.bHolzwFYDP ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio2-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.d6sbDg7jSW ++ cat /tmp/tmp.bHolzwFYDP ++ rm /tmp/tmp.d6sbDg7jSW /tmp/tmp.bHolzwFYDP ++ return 0 + local MINIO_POD=minio2-service-6bc7fd854f-lbwbq + wait_pod minio2-service-6bc7fd854f-lbwbq + local pod=minio2-service-6bc7fd854f-lbwbq + set +o xtrace waiting for pod/minio2-service-6bc7fd854f-lbwbq to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio2-service --external-name=minio2-service.demand-backup-physical-minio-native-tls-21656.svc.cluster.local --tcp=9000 service/minio2-service created + create_minio_bucket operator-testing https://minio2-service:9000 + local bucket=operator-testing + local endpoint=https://minio2-service:9000 + kubectl_bin run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio2-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.9YYSzQmupe ++ mktemp + local LAST_ERR=/tmp/tmp.9wZojRGl6D + 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=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url https://minio2-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9YYSzQmupe /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-21656 namespace + cat /tmp/tmp.9wZojRGl6D 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-21656 + rm /tmp/tmp.9YYSzQmupe /tmp/tmp.9wZojRGl6D + return 0 + desc 'Add second storage' + set +o xtrace ----------------------------------------------------------------------------------- Add second storage ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name -n demand-backup-physical-minio-native-tls-21656 --type=merge -p ' { "spec": { "backup": { "storages": { "minio2": { "type": "minio", "minio": { "credentialsSecret": "minio2-secret", "region": "us-east-1", "bucket": "operator-testing", "endpointUrl": "https://minio2-service:9000", "secure": true, "insecureSkipTLSVerify": false, "caBundle": { "name": "minio2-ca-bundle", "key": "ca.crt" } } } } } } }' ++ mktemp + local LAST_OUT=/tmp/tmp.u09ZdEgSJm ++ mktemp + local LAST_ERR=/tmp/tmp.JxR3luDLHB + 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-21656 --type=merge -p ' { "spec": { "backup": { "storages": { "minio2": { "type": "minio", "minio": { "credentialsSecret": "minio2-secret", "region": "us-east-1", "bucket": "operator-testing", "endpointUrl": "https://minio2-service:9000", "secure": true, "insecureSkipTLSVerify": false, "caBundle": { "name": "minio2-ca-bundle", "key": "ca.crt" } } } } } } }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.u09ZdEgSJm perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.JxR3luDLHB + rm /tmp/tmp.u09ZdEgSJm /tmp/tmp.JxR3luDLHB + 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.2JeTpnnGXn +++ mktemp ++ local LAST_ERR=/tmp/tmp.yfcDVLHCVq ++ 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.2JeTpnnGXn ++ cat /tmp/tmp.yfcDVLHCVq ++ rm /tmp/tmp.2JeTpnnGXn /tmp/tmp.yfcDVLHCVq ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.oyve2soFWi +++ mktemp ++ local LAST_ERR=/tmp/tmp.TAgxPUXW3L ++ 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.oyve2soFWi ++ cat /tmp/tmp.TAgxPUXW3L ++ rm /tmp/tmp.oyve2soFWi /tmp/tmp.TAgxPUXW3L ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.C4P28lcBBe +++ mktemp ++ local LAST_ERR=/tmp/tmp.lHotMGAXUM ++ 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.C4P28lcBBe ++ cat /tmp/tmp.lHotMGAXUM ++ rm /tmp/tmp.C4P28lcBBe /tmp/tmp.lHotMGAXUM ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.RUra52PfkQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.1trcDfDSoX ++ 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.RUra52PfkQ ++ cat /tmp/tmp.1trcDfDSoX ++ rm /tmp/tmp.RUra52PfkQ /tmp/tmp.1trcDfDSoX ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.GQ2V4ZQc35 +++ mktemp ++ local LAST_ERR=/tmp/tmp.hkrAaTXUGd ++ 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.GQ2V4ZQc35 ++ cat /tmp/tmp.hkrAaTXUGd ++ rm /tmp/tmp.GQ2V4ZQc35 /tmp/tmp.hkrAaTXUGd ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.l0IOVv3wKb +++ mktemp ++ local LAST_ERR=/tmp/tmp.zwZcFjz7fS ++ 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.l0IOVv3wKb ++ cat /tmp/tmp.zwZcFjz7fS ++ rm /tmp/tmp.l0IOVv3wKb /tmp/tmp.zwZcFjz7fS ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.ZK3YyLDFs5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.zf3YJNYJyZ ++ 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.ZK3YyLDFs5 ++ cat /tmp/tmp.zf3YJNYJyZ ++ rm /tmp/tmp.ZK3YyLDFs5 /tmp/tmp.zf3YJNYJyZ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.0CT7TGuazw +++ mktemp ++ local LAST_ERR=/tmp/tmp.n2Iuclzeaz ++ 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.0CT7TGuazw ++ cat /tmp/tmp.n2Iuclzeaz ++ rm /tmp/tmp.0CT7TGuazw /tmp/tmp.n2Iuclzeaz ++ return 0 + [[ initializing == \r\e\a\d\y ]] + 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.AxzfYfuUiX +++ mktemp ++ local LAST_ERR=/tmp/tmp.s9HDY0QlJb ++ 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.AxzfYfuUiX ++ cat /tmp/tmp.s9HDY0QlJb ++ rm /tmp/tmp.AxzfYfuUiX /tmp/tmp.s9HDY0QlJb ++ return 0 + [[ error == \r\e\a\d\y ]] + 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.rbdolgzxBW +++ mktemp ++ local LAST_ERR=/tmp/tmp.mjZwDUhjt9 ++ 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.rbdolgzxBW ++ cat /tmp/tmp.mjZwDUhjt9 ++ rm /tmp/tmp.rbdolgzxBW /tmp/tmp.mjZwDUhjt9 ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 10 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.F1HFU4Tm6p +++ mktemp ++ local LAST_ERR=/tmp/tmp.5m2HvTD37I ++ 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.F1HFU4Tm6p ++ cat /tmp/tmp.5m2HvTD37I ++ rm /tmp/tmp.F1HFU4Tm6p /tmp/tmp.5m2HvTD37I ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 11 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9FyN0pD4hw +++ mktemp ++ local LAST_ERR=/tmp/tmp.L2fVTCrIyH ++ 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.9FyN0pD4hw ++ cat /tmp/tmp.L2fVTCrIyH ++ rm /tmp/tmp.9FyN0pD4hw /tmp/tmp.L2fVTCrIyH ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 12 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xPWkLQjDw6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.TCLbbn2dC1 ++ 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.xPWkLQjDw6 ++ cat /tmp/tmp.TCLbbn2dC1 ++ rm /tmp/tmp.xPWkLQjDw6 /tmp/tmp.TCLbbn2dC1 ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 13 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MvPmHQiYna +++ mktemp ++ local LAST_ERR=/tmp/tmp.QkGvokPpcx ++ 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.MvPmHQiYna ++ cat /tmp/tmp.QkGvokPpcx ++ rm /tmp/tmp.MvPmHQiYna /tmp/tmp.QkGvokPpcx ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 14 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ofvFNxm0y8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.2kTouK2FH4 ++ 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.ofvFNxm0y8 ++ cat /tmp/tmp.2kTouK2FH4 ++ rm /tmp/tmp.ofvFNxm0y8 /tmp/tmp.2kTouK2FH4 ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 15 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HL9FeDXYUw +++ mktemp ++ local LAST_ERR=/tmp/tmp.kuyXqj1waZ ++ 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.HL9FeDXYUw ++ cat /tmp/tmp.kuyXqj1waZ ++ rm /tmp/tmp.HL9FeDXYUw /tmp/tmp.kuyXqj1waZ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 16 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MRcxo5aW3o +++ mktemp ++ local LAST_ERR=/tmp/tmp.x4srR3V4pt ++ 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.MRcxo5aW3o ++ cat /tmp/tmp.x4srR3V4pt ++ rm /tmp/tmp.MRcxo5aW3o /tmp/tmp.x4srR3V4pt ++ return 0 + [[ error == \r\e\a\d\y ]] + let retry+=1 + '[' 17 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dKSberwv3u +++ mktemp ++ local LAST_ERR=/tmp/tmp.dVqKg0REbE ++ 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.dKSberwv3u ++ cat /tmp/tmp.dVqKg0REbE ++ rm /tmp/tmp.dKSberwv3u /tmp/tmp.dVqKg0REbE ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 18 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sTzTszz48S +++ mktemp ++ local LAST_ERR=/tmp/tmp.WD2TaxUfrG ++ 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.sTzTszz48S ++ cat /tmp/tmp.WD2TaxUfrG ++ rm /tmp/tmp.sTzTszz48S /tmp/tmp.WD2TaxUfrG ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 19 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZhXeP0Kh0K +++ mktemp ++ local LAST_ERR=/tmp/tmp.mUnzwyFHwQ ++ 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.ZhXeP0Kh0K ++ cat /tmp/tmp.mUnzwyFHwQ ++ rm /tmp/tmp.ZhXeP0Kh0K /tmp/tmp.mUnzwyFHwQ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 20 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3g8zPxRQS7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FH04sjW4Rb ++ 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.3g8zPxRQS7 ++ cat /tmp/tmp.FH04sjW4Rb ++ rm /tmp/tmp.3g8zPxRQS7 /tmp/tmp.FH04sjW4Rb ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 21 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sehriTrOdk +++ mktemp ++ local LAST_ERR=/tmp/tmp.o0N9SSlrGB ++ 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.sehriTrOdk ++ cat /tmp/tmp.o0N9SSlrGB ++ rm /tmp/tmp.sehriTrOdk /tmp/tmp.o0N9SSlrGB ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 22 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WG4gOogydd +++ mktemp ++ local LAST_ERR=/tmp/tmp.5tftjUX6Tv ++ 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.WG4gOogydd ++ cat /tmp/tmp.5tftjUX6Tv ++ rm /tmp/tmp.WG4gOogydd /tmp/tmp.5tftjUX6Tv ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 23 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.31ZpMgVr5v +++ mktemp ++ local LAST_ERR=/tmp/tmp.UFP3iJowFJ ++ 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.31ZpMgVr5v ++ cat /tmp/tmp.UFP3iJowFJ ++ rm /tmp/tmp.31ZpMgVr5v /tmp/tmp.UFP3iJowFJ ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 24 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IwtT8N4l6c +++ mktemp ++ local LAST_ERR=/tmp/tmp.10trLfa7JE ++ 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.IwtT8N4l6c ++ cat /tmp/tmp.10trLfa7JE ++ rm /tmp/tmp.IwtT8N4l6c /tmp/tmp.10trLfa7JE ++ return 0 + [[ error == \r\e\a\d\y ]] + let retry+=1 + '[' 25 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gAGuePKrMz +++ mktemp ++ local LAST_ERR=/tmp/tmp.RkdNtxhUp8 ++ 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.gAGuePKrMz ++ cat /tmp/tmp.RkdNtxhUp8 ++ rm /tmp/tmp.gAGuePKrMz /tmp/tmp.RkdNtxhUp8 ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 26 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SFdpr7YKNN +++ mktemp ++ local LAST_ERR=/tmp/tmp.ra6w8po4Yt ++ 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.SFdpr7YKNN ++ cat /tmp/tmp.ra6w8po4Yt ++ rm /tmp/tmp.SFdpr7YKNN /tmp/tmp.ra6w8po4Yt ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 27 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VXE7f7nYUj +++ mktemp ++ local LAST_ERR=/tmp/tmp.pgm0S0aVXy ++ 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.VXE7f7nYUj ++ cat /tmp/tmp.pgm0S0aVXy ++ rm /tmp/tmp.VXE7f7nYUj /tmp/tmp.pgm0S0aVXy ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 28 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1j4vMiXlsK +++ mktemp ++ local LAST_ERR=/tmp/tmp.6CDCCdo7Rg ++ 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.1j4vMiXlsK ++ cat /tmp/tmp.6CDCCdo7Rg ++ rm /tmp/tmp.1j4vMiXlsK /tmp/tmp.6CDCCdo7Rg ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 29 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JlZ9mPpFqP +++ mktemp ++ local LAST_ERR=/tmp/tmp.i7udKPspnK ++ 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.JlZ9mPpFqP ++ cat /tmp/tmp.i7udKPspnK ++ rm /tmp/tmp.JlZ9mPpFqP /tmp/tmp.i7udKPspnK ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 30 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.GdmvcchG3W +++ mktemp ++ local LAST_ERR=/tmp/tmp.56qJHBrYAc ++ 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.GdmvcchG3W ++ cat /tmp/tmp.56qJHBrYAc ++ rm /tmp/tmp.GdmvcchG3W /tmp/tmp.56qJHBrYAc ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 31 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.DQjsWMFvMJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.eoLsImZWFH ++ 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.DQjsWMFvMJ ++ cat /tmp/tmp.eoLsImZWFH ++ rm /tmp/tmp.DQjsWMFvMJ /tmp/tmp.eoLsImZWFH ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 32 -ge 32 ']' + echo max retry count 32 reached. something went wrong with operator or kubernetes cluster max retry count 32 reached. something went wrong with operator or kubernetes cluster + exit 1