Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/logs/pvc-auto-resize.log Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 + '[' 0 == 1 ']' + ensure_default_sc_allows_expansion + local default_sc ++ get_default_storageclass ++ kubectl_bin get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fP25DcFurX +++ mktemp ++ local LAST_ERR=/tmp/tmp.IxQ35TG0Wg ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fP25DcFurX ++ cat /tmp/tmp.IxQ35TG0Wg ++ rm /tmp/tmp.fP25DcFurX /tmp/tmp.IxQ35TG0Wg ++ return 0 + default_sc=standard-rwo + echo 'Checking if default storageclass standard-rwo allows volume expansion' Checking if default storageclass standard-rwo allows volume expansion + local allowVolumeExpansion ++ kubectl_bin get sc -o 'jsonpath={.items[?(@.metadata.name=="standard-rwo")].allowVolumeExpansion}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LkYjKZdRtE +++ mktemp ++ local LAST_ERR=/tmp/tmp.AHWBpfWPqR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sc -o 'jsonpath={.items[?(@.metadata.name=="standard-rwo")].allowVolumeExpansion}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LkYjKZdRtE ++ cat /tmp/tmp.AHWBpfWPqR ++ rm /tmp/tmp.LkYjKZdRtE /tmp/tmp.AHWBpfWPqR ++ return 0 + allowVolumeExpansion=true + [[ true != true ]] + create_infra pvc-auto-resize-9555 + local ns=pvc-auto-resize-9555 + [[ 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-2269/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.Ry4PeAx0xh ++ mktemp + local LAST_ERR=/tmp/tmp.fmqwB7jgpM + 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-2269/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ry4PeAx0xh 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.fmqwB7jgpM + rm /tmp/tmp.Ry4PeAx0xh /tmp/tmp.fmqwB7jgpM + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.54Fkf08TkU ++ mktemp + local LAST_ERR=/tmp/tmp.RwxZ4zwzRp + 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.54Fkf08TkU + cat /tmp/tmp.RwxZ4zwzRp + rm /tmp/tmp.54Fkf08TkU /tmp/tmp.RwxZ4zwzRp + 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.tfzTsLVhcL ++ mktemp + local LAST_ERR=/tmp/tmp.TgGYBXi8qj + 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.tfzTsLVhcL + cat /tmp/tmp.TgGYBXi8qj + rm /tmp/tmp.tfzTsLVhcL /tmp/tmp.TgGYBXi8qj + 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 + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + grep -v NAMESPACE + kubectl patch perconaservermongodbs.psmdb.percona.com -n pvc-auto-resize-16047 some-name --type=merge -p '{"metadata":{"finalizers":[]}}' perconaservermongodb.psmdb.percona.com/some-name patched + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.sUjTdHzbr2 ++ mktemp + local LAST_ERR=/tmp/tmp.2J5vplJfPM + 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.sUjTdHzbr2 customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com condition met + cat /tmp/tmp.2J5vplJfPM + rm /tmp/tmp.sUjTdHzbr2 /tmp/tmp.2J5vplJfPM + 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-2269/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.8GAWv5ERlm ++ mktemp + local LAST_ERR=/tmp/tmp.uYGlU9UQqX + 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-2269/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8GAWv5ERlm 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.uYGlU9UQqX + rm /tmp/tmp.8GAWv5ERlm /tmp/tmp.uYGlU9UQqX + return 0 + check_crd_for_deletion PR-2269-20e73be3 + local git_tag=PR-2269-20e73be3 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2269-20e73be3/deploy/crd.yaml ++ /usr/sbin/sed s/---//g ++ yq eval .metadata.name ++ /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.KgkuIzoOvA +++ mktemp ++ local LAST_ERR=/tmp/tmp.iEDJQlv4Mb ++ 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.KgkuIzoOvA ++ cat /tmp/tmp.iEDJQlv4Mb 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.KgkuIzoOvA ++ cat /tmp/tmp.iEDJQlv4Mb 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.KgkuIzoOvA ++ cat /tmp/tmp.iEDJQlv4Mb Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.KgkuIzoOvA ++ cat /tmp/tmp.iEDJQlv4Mb Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.KgkuIzoOvA /tmp/tmp.iEDJQlv4Mb ++ 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 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// ++ tail -n1 + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ grep chaos-mesh ++ kubectl get MutatingWebhookConfiguration ++ 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 + : ++ grep chaos-mesh ++ kubectl get clusterrolebinding ++ 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' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + xargs kubectl delete ns + awk '{print$1}' ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.eEynmgXabm ++ mktemp + local LAST_OUT=/tmp/tmp.pSjbLC5IQE + local LAST_ERR=/tmp/tmp.Lg6uZTjcx9 + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.L5wxZsP4BJ + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + 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.eEynmgXabm + cat /tmp/tmp.Lg6uZTjcx9 + rm /tmp/tmp.eEynmgXabm /tmp/tmp.Lg6uZTjcx9 + return 0 namespace "pvc-auto-resize-16047" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pSjbLC5IQE namespace "psmdb-operator" deleted + cat /tmp/tmp.L5wxZsP4BJ + rm /tmp/tmp.pSjbLC5IQE /tmp/tmp.L5wxZsP4BJ + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.LkSAXqGVm0 ++ mktemp + local LAST_ERR=/tmp/tmp.dM7mL7X96i + 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.LkSAXqGVm0 + cat /tmp/tmp.dM7mL7X96i + rm /tmp/tmp.LkSAXqGVm0 /tmp/tmp.dM7mL7X96i + 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.uaWJMGM3TT ++ mktemp + local LAST_ERR=/tmp/tmp.yXInZ3qpXb + 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.uaWJMGM3TT namespace/psmdb-operator created + cat /tmp/tmp.yXInZ3qpXb + rm /tmp/tmp.uaWJMGM3TT /tmp/tmp.yXInZ3qpXb + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.QXjGR1IYIg +++ mktemp ++ local LAST_ERR=/tmp/tmp.qhb4peJpEs ++ 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.QXjGR1IYIg ++ cat /tmp/tmp.qhb4peJpEs ++ rm /tmp/tmp.QXjGR1IYIg /tmp/tmp.qhb4peJpEs ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster10 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.iqAhMk95jn ++ mktemp + local LAST_ERR=/tmp/tmp.L4LBwjLCXG + 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-2269-20e73be3-5-cluster10 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.iqAhMk95jn Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster10" modified. + cat /tmp/tmp.L4LBwjLCXG + rm /tmp/tmp.iqAhMk95jn /tmp/tmp.L4LBwjLCXG + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.3HI4wcXLEy ++ mktemp + local LAST_ERR=/tmp/tmp.MxWFgVCF7q + 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-2269/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3HI4wcXLEy 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.MxWFgVCF7q + rm /tmp/tmp.3HI4wcXLEy /tmp/tmp.MxWFgVCF7q + 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-2269/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.YbTK7dJ5Tg ++ mktemp + local LAST_ERR=/tmp/tmp.6IBrj5KP3C + 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.YbTK7dJ5Tg 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.6IBrj5KP3C + rm /tmp/tmp.YbTK7dJ5Tg /tmp/tmp.6IBrj5KP3C + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3") |\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-2269/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.xBcufotPm2 ++ mktemp + local LAST_ERR=/tmp/tmp.sK1vHXFglb + 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.xBcufotPm2 deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.sK1vHXFglb + rm /tmp/tmp.xBcufotPm2 /tmp/tmp.sK1vHXFglb + 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.Zn2vJsG1Bo +++ mktemp ++ local LAST_ERR=/tmp/tmp.FzphclMeVX ++ 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.Zn2vJsG1Bo ++ cat /tmp/tmp.FzphclMeVX ++ rm /tmp/tmp.Zn2vJsG1Bo /tmp/tmp.FzphclMeVX ++ return 0 + wait_operator_pod percona-server-mongodb-operator-dfddcf789-9jlr5 + local pod=percona-server-mongodb-operator-dfddcf789-9jlr5 + set +o xtrace waiting for pod/percona-server-mongodb-operator-dfddcf789-9jlr5 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.oYebl16rcI +++ mktemp ++ local LAST_ERR=/tmp/tmp.VuRZry0Gat ++ 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.oYebl16rcI ++ cat /tmp/tmp.VuRZry0Gat ++ rm /tmp/tmp.oYebl16rcI /tmp/tmp.VuRZry0Gat ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-dfddcf789-9jlr5 ++ mktemp + local LAST_OUT=/tmp/tmp.ohRZrs0fqW ++ mktemp + local LAST_ERR=/tmp/tmp.iFdSVdEjy9 + 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-dfddcf789-9jlr5 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ohRZrs0fqW + cat /tmp/tmp.iFdSVdEjy9 + rm /tmp/tmp.ohRZrs0fqW /tmp/tmp.iFdSVdEjy9 + return 0 2026-04-23T09:53:46.427Z INFO setup Manager starting up {"gitCommit": "20e73be336bc9107fc60a16452f9669066123774", "gitBranch": "PR-2269-20e73be3", "buildTime": "", "goVersion": "go1.25.9", "os": "linux", "arch": "amd64"} + create_namespace pvc-auto-resize-9555 + local namespace=pvc-auto-resize-9555 + 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 ++ awk '{print $1}' ++ grep chaos-mesh + 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 ----------------------------------------------------------------------------------- + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -n '' ']' + desc 'cleaned up old namespaces pvc-auto-resize-9555' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pvc-auto-resize-9555 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pvc-auto-resize-9555 --ignore-not-found + kubectl_bin get ns ++ mktemp + awk '{print$1}' ++ mktemp + xargs kubectl delete ns + local LAST_OUT=/tmp/tmp.VZ7Lwcsup6 ++ mktemp + local LAST_OUT=/tmp/tmp.3O7lhg6INb ++ mktemp + local LAST_ERR=/tmp/tmp.SGAvRhZKfm + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.nCIZQIvW8t + 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 pvc-auto-resize-9555 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VZ7Lwcsup6 + cat /tmp/tmp.SGAvRhZKfm + rm /tmp/tmp.VZ7Lwcsup6 /tmp/tmp.SGAvRhZKfm + 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.3O7lhg6INb + cat /tmp/tmp.nCIZQIvW8t + rm /tmp/tmp.3O7lhg6INb /tmp/tmp.nCIZQIvW8t + return 0 + kubectl_bin wait --for=delete namespace pvc-auto-resize-9555 ++ mktemp + local LAST_OUT=/tmp/tmp.bgfVSOWu6X ++ mktemp + local LAST_ERR=/tmp/tmp.yyku3yFm2z + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace pvc-auto-resize-9555 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bgfVSOWu6X + cat /tmp/tmp.yyku3yFm2z + rm /tmp/tmp.bgfVSOWu6X /tmp/tmp.yyku3yFm2z + return 0 + desc 'create namespace pvc-auto-resize-9555' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pvc-auto-resize-9555 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pvc-auto-resize-9555 ++ mktemp + local LAST_OUT=/tmp/tmp.oO3bjJmRy4 ++ mktemp + local LAST_ERR=/tmp/tmp.TiPGuaap8a + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace pvc-auto-resize-9555 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oO3bjJmRy4 namespace/pvc-auto-resize-9555 created + cat /tmp/tmp.TiPGuaap8a + rm /tmp/tmp.oO3bjJmRy4 /tmp/tmp.TiPGuaap8a + return 0 + set_kube_ctx pvc-auto-resize-9555 + local namespace=pvc-auto-resize-9555 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.50MGRawFi8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.RPEIQ7Ku3y ++ 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.50MGRawFi8 ++ cat /tmp/tmp.RPEIQ7Ku3y ++ rm /tmp/tmp.50MGRawFi8 /tmp/tmp.RPEIQ7Ku3y ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster10 --namespace=pvc-auto-resize-9555 ++ mktemp + local LAST_OUT=/tmp/tmp.7ORUypKnm2 ++ mktemp + local LAST_ERR=/tmp/tmp.9i5GlBJUPu + 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-2269-20e73be3-5-cluster10 --namespace=pvc-auto-resize-9555 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7ORUypKnm2 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster10" modified. + cat /tmp/tmp.9i5GlBJUPu + rm /tmp/tmp.7ORUypKnm2 /tmp/tmp.9i5GlBJUPu + return 0 + desc 'create secrets and psmdb client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and psmdb client ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/client.yml ++ mktemp + local LAST_OUT=/tmp/tmp.gi7nJqQAYY ++ mktemp + local LAST_ERR=/tmp/tmp.AtUYiol5Cb + 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-2269/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/client.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gi7nJqQAYY secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.AtUYiol5Cb + rm /tmp/tmp.gi7nJqQAYY /tmp/tmp.AtUYiol5Cb + return 0 + desc 'create PSMDB cluster with storageAutoscaling enabled' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster with storageAutoscaling enabled ----------------------------------------------------------------------------------- + cluster=some-name + '[' 0 == 1 ']' + spinup_psmdb some-name-rs0 /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/some-name.yml + local cluster=some-name-rs0 + local config=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/some-name.yml + local size=3 + desc 'create first PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/some-name.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/some-name.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/some-name.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3"' + local LAST_OUT=/tmp/tmp.xw4xjgflTY ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/pvc-auto-resize-9555/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_ERR=/tmp/tmp.gP07ObEPXH + 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.xw4xjgflTY perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.gP07ObEPXH + rm /tmp/tmp.xw4xjgflTY /tmp/tmp.gP07ObEPXH + return 0 + desc 'check if Pod is started' + set +o xtrace ----------------------------------------------------------------------------------- check if Pod is started ----------------------------------------------------------------------------------- + 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.Ro8keK7TtE +++ mktemp ++ local LAST_ERR=/tmp/tmp.N70cAHeRvc ++ 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.Ro8keK7TtE ++ cat /tmp/tmp.N70cAHeRvc ++ rm /tmp/tmp.Ro8keK7TtE /tmp/tmp.N70cAHeRvc ++ 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.hPt8GxOh6Q +++ mktemp ++ local LAST_ERR=/tmp/tmp.7FNNRexDNY ++ 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.hPt8GxOh6Q ++ cat /tmp/tmp.7FNNRexDNY ++ rm /tmp/tmp.hPt8GxOh6Q /tmp/tmp.7FNNRexDNY ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cM1jm8c0dB +++ mktemp ++ local LAST_ERR=/tmp/tmp.COctwLYgEg ++ 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.cM1jm8c0dB ++ cat /tmp/tmp.COctwLYgEg ++ rm /tmp/tmp.cM1jm8c0dB /tmp/tmp.COctwLYgEg ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + sleep 20 + compare_kubectl statefulset/some-name-rs0 + local resource=statefulset/some-name-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/compare/statefulset_some-name-rs0.yml + local new_result=/tmp/tmp.OWZMTrC6ku/statefulset_some-name-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/compare/statefulset_some-name-rs0-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("pvc-auto-resize-9555", "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.7907Wpx5bC ++ mktemp + local LAST_ERR=/tmp/tmp.7mU9DxJveI + 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.7907Wpx5bC + cat /tmp/tmp.7mU9DxJveI + rm /tmp/tmp.7907Wpx5bC /tmp/tmp.7mU9DxJveI + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.OWZMTrC6ku/statefulset_some-name-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.OWZMTrC6ku/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.OWZMTrC6ku/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/compare/statefulset_some-name-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/compare/statefulset_some-name-rs0.yml /tmp/tmp.OWZMTrC6ku/statefulset_some-name-rs0.yml + log 'compare_kubectl: statefulset/some-name-rs0 OK' + set +o xtrace [2026-04-23T09:56:21+0000] compare_kubectl: statefulset/some-name-rs0 OK + desc 'write data' + set +o xtrace ----------------------------------------------------------------------------------- write data ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' userAdmin:userAdmin123456@some-name-rs0.pvc-auto-resize-9555 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.pvc-auto-resize-9555 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.pvc-auto-resize-9555 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UUouoAwLcD +++ mktemp ++ local LAST_ERR=/tmp/tmp.pfs2sjtE8k ++ 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.UUouoAwLcD ++ cat /tmp/tmp.pfs2sjtE8k ++ rm /tmp/tmp.UUouoAwLcD /tmp/tmp.pfs2sjtE8k ++ return 0 + local client_container=psmdb-client-bb8b97679-cwkcl + kubectl_bin exec psmdb-client-bb8b97679-cwkcl -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.pvc-auto-resize-9555.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.rI9t6Gvziu ++ mktemp + local LAST_ERR=/tmp/tmp.Eng769zJEM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-cwkcl -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.pvc-auto-resize-9555.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rI9t6Gvziu Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("9d8ed00a-7f00-43c5-b65f-99947c10fc9e") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.Eng769zJEM + rm /tmp/tmp.rI9t6Gvziu /tmp/tmp.Eng769zJEM + return 0 + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.pvc-auto-resize-9555 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.pvc-auto-resize-9555 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.pvc-auto-resize-9555 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6K88jGaVmN +++ mktemp ++ local LAST_ERR=/tmp/tmp.30p60uPGhl ++ 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.6K88jGaVmN ++ cat /tmp/tmp.30p60uPGhl ++ rm /tmp/tmp.6K88jGaVmN /tmp/tmp.30p60uPGhl ++ return 0 + local client_container=psmdb-client-bb8b97679-cwkcl + kubectl_bin exec psmdb-client-bb8b97679-cwkcl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.pvc-auto-resize-9555.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.OLOgImBlpP ++ mktemp + local LAST_ERR=/tmp/tmp.stpHEtA2rd + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-cwkcl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.pvc-auto-resize-9555.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OLOgImBlpP Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.pvc-auto-resize-9555.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("05559e33-f629-4f81-b198-072bba13fb55") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.stpHEtA2rd + rm /tmp/tmp.OLOgImBlpP /tmp/tmp.stpHEtA2rd + return 0 + desc 'verify initial PVC size is 1Gi' + set +o xtrace ----------------------------------------------------------------------------------- verify initial PVC size is 1Gi ----------------------------------------------------------------------------------- ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SI9nDOZxx0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.7e8hZNO6Hd ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.SI9nDOZxx0 ++ cat /tmp/tmp.7e8hZNO6Hd ++ rm /tmp/tmp.SI9nDOZxx0 /tmp/tmp.7e8hZNO6Hd ++ return 0 + initial_size=1Gi + echo 'Initial PVC size: 1Gi' Initial PVC size: 1Gi + [[ 1Gi != 1Gi ]] + desc 'fill disk to trigger autoscaling threshold 50 percent' + set +o xtrace ----------------------------------------------------------------------------------- fill disk to trigger autoscaling threshold 50 percent ----------------------------------------------------------------------------------- + fill_disk_to_threshold some-name-rs0-0 50 600 + local pod=some-name-rs0-0 + local threshold=50 + local size_mb=600 + echo 'Filling disk on some-name-rs0-0 to approximately 50% (creating 600MB file)' Filling disk on some-name-rs0-0 to approximately 50% (creating 600MB file) + kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=600 2>/dev/null || true' ++ mktemp + local LAST_OUT=/tmp/tmp.Zul3bZD7c6 ++ mktemp + local LAST_ERR=/tmp/tmp.kGsx7BIg7U + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=600 2>/dev/null || true' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Zul3bZD7c6 + cat /tmp/tmp.kGsx7BIg7U + rm /tmp/tmp.Zul3bZD7c6 /tmp/tmp.kGsx7BIg7U + return 0 + local usage ++ kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Nrg2SGKKio +++ mktemp ++ local LAST_ERR=/tmp/tmp.fO5SSCysQQ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Nrg2SGKKio ++ cat /tmp/tmp.fO5SSCysQQ ++ rm /tmp/tmp.Nrg2SGKKio /tmp/tmp.fO5SSCysQQ ++ return 0 + usage=85 + echo 'Current disk usage on some-name-rs0-0: 85%' Current disk usage on some-name-rs0-0: 85% + desc 'wait for auto-resize to trigger' + set +o xtrace ----------------------------------------------------------------------------------- wait for auto-resize to trigger ----------------------------------------------------------------------------------- + wait_for_auto_resize mongod-data-some-name-rs0-0 3Gi 60 10 + local pvc=mongod-data-some-name-rs0-0 + local expected_size=3Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 3Gi' Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 3Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sC1WZPniGB +++ mktemp ++ local LAST_ERR=/tmp/tmp.Eg7jrswBaL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.sC1WZPniGB ++ cat /tmp/tmp.Eg7jrswBaL ++ rm /tmp/tmp.sC1WZPniGB /tmp/tmp.Eg7jrswBaL ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zoyiNe7ESD +++ mktemp ++ local LAST_ERR=/tmp/tmp.FAAsidhphT ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zoyiNe7ESD ++ cat /tmp/tmp.FAAsidhphT ++ rm /tmp/tmp.zoyiNe7ESD /tmp/tmp.FAAsidhphT ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NtpiqZxpmK +++ mktemp ++ local LAST_ERR=/tmp/tmp.FERb4DpO23 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.NtpiqZxpmK ++ cat /tmp/tmp.FERb4DpO23 ++ rm /tmp/tmp.NtpiqZxpmK /tmp/tmp.FERb4DpO23 ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 2 -ge 60 ]] + echo -n . .+ sleep 10 + retry=3 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VZW5bGvave +++ mktemp ++ local LAST_ERR=/tmp/tmp.xfkYuVcfh4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VZW5bGvave ++ cat /tmp/tmp.xfkYuVcfh4 ++ rm /tmp/tmp.VZW5bGvave /tmp/tmp.xfkYuVcfh4 ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 3 -ge 60 ]] + echo -n . .+ sleep 10 + retry=4 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SFsrHq2MUl +++ mktemp ++ local LAST_ERR=/tmp/tmp.o89FnOQuIq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.SFsrHq2MUl ++ cat /tmp/tmp.o89FnOQuIq ++ rm /tmp/tmp.SFsrHq2MUl /tmp/tmp.o89FnOQuIq ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 4 -ge 60 ]] + echo -n . .+ sleep 10 + retry=5 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QoZVymmgXl +++ mktemp ++ local LAST_ERR=/tmp/tmp.LqsKJ78VTc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.QoZVymmgXl ++ cat /tmp/tmp.LqsKJ78VTc ++ rm /tmp/tmp.QoZVymmgXl /tmp/tmp.LqsKJ78VTc ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 5 -ge 60 ]] + echo -n . .+ sleep 10 + retry=6 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.uGxlB29c9J +++ mktemp ++ local LAST_ERR=/tmp/tmp.0DWDyFOb09 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.uGxlB29c9J ++ cat /tmp/tmp.0DWDyFOb09 ++ rm /tmp/tmp.uGxlB29c9J /tmp/tmp.0DWDyFOb09 ++ return 0 + [[ 1Gi == 3Gi ]] + [[ 6 -ge 60 ]] + echo -n . .+ sleep 10 + retry=7 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wfVaKnwimd +++ mktemp ++ local LAST_ERR=/tmp/tmp.oezy4AnXSc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.wfVaKnwimd ++ cat /tmp/tmp.oezy4AnXSc ++ rm /tmp/tmp.wfVaKnwimd /tmp/tmp.oezy4AnXSc ++ return 0 + [[ 3Gi == 3Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-0 successfully resized to 3Gi' PVC mongod-data-some-name-rs0-0 successfully resized to 3Gi + wait_for_auto_resize mongod-data-some-name-rs0-1 3Gi 60 10 + local pvc=mongod-data-some-name-rs0-1 + local expected_size=3Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 3Gi' Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 3Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-1 ++ local pvc=mongod-data-some-name-rs0-1 ++ kubectl_bin get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JmH86JAtmq +++ mktemp ++ local LAST_ERR=/tmp/tmp.Xw1xJxoG36 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JmH86JAtmq ++ cat /tmp/tmp.Xw1xJxoG36 ++ rm /tmp/tmp.JmH86JAtmq /tmp/tmp.Xw1xJxoG36 ++ return 0 + [[ 3Gi == 3Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-1 successfully resized to 3Gi' PVC mongod-data-some-name-rs0-1 successfully resized to 3Gi + wait_for_auto_resize mongod-data-some-name-rs0-2 3Gi 60 10 + local pvc=mongod-data-some-name-rs0-2 + local expected_size=3Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 3Gi' Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 3Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.se1KQtaTO5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.o2Sv0nM7kC ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.se1KQtaTO5 ++ cat /tmp/tmp.o2Sv0nM7kC ++ rm /tmp/tmp.se1KQtaTO5 /tmp/tmp.o2Sv0nM7kC ++ return 0 + [[ 3Gi == 3Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-2 successfully resized to 3Gi' PVC mongod-data-some-name-rs0-2 successfully resized to 3Gi + desc 'verify autoscaling status is updated' + set +o xtrace ----------------------------------------------------------------------------------- verify autoscaling status is updated ----------------------------------------------------------------------------------- + check_autoscaling_status some-name 1 mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2 + local cluster=some-name + local expected_resize_count=1 + shift 2 + pvc_names=('mongod-data-some-name-rs0-0' 'mongod-data-some-name-rs0-1' 'mongod-data-some-name-rs0-2') + local pvc_names + local max_retry=30 + local sleep_time=10 + echo 'Checking autoscaling status for PVCs: mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2' Checking autoscaling status for PVCs: mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2 + echo 'Expected resize count per PVC: 1' Expected resize count per PVC: 1 + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ysOR8ea89n +++ mktemp ++ local LAST_ERR=/tmp/tmp.h9e1IeJRef ++ 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.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ysOR8ea89n ++ cat /tmp/tmp.h9e1IeJRef ++ rm /tmp/tmp.ysOR8ea89n /tmp/tmp.h9e1IeJRef ++ return 0 + [[ '' -eq 1 ]] + [[ 0 -ge 30 ]] + echo -n . .+ sleep 10 + retry=1 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.DP0fVXNiZL +++ mktemp ++ local LAST_ERR=/tmp/tmp.z1cOmp4fSu ++ 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.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.DP0fVXNiZL ++ cat /tmp/tmp.z1cOmp4fSu ++ rm /tmp/tmp.DP0fVXNiZL /tmp/tmp.z1cOmp4fSu ++ return 0 + [[ '' -eq 1 ]] + [[ 1 -ge 30 ]] + echo -n . .+ sleep 10 + retry=2 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.m5pO3cg8T2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.iOahU8idHw ++ 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.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.m5pO3cg8T2 ++ cat /tmp/tmp.iOahU8idHw ++ rm /tmp/tmp.m5pO3cg8T2 /tmp/tmp.iOahU8idHw ++ return 0 + [[ 1 -eq 1 ]] + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-1.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ea4ofxuahi +++ mktemp ++ local LAST_ERR=/tmp/tmp.xx85yskUtY ++ 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.storageAutoscaling.mongod-data-some-name-rs0-1.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ea4ofxuahi ++ cat /tmp/tmp.xx85yskUtY ++ rm /tmp/tmp.ea4ofxuahi /tmp/tmp.xx85yskUtY ++ return 0 + [[ 1 -eq 1 ]] + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EgBsBMdGbi +++ mktemp ++ local LAST_ERR=/tmp/tmp.EVvrbGb0tZ ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EgBsBMdGbi ++ cat /tmp/tmp.EVvrbGb0tZ ++ rm /tmp/tmp.EgBsBMdGbi /tmp/tmp.EVvrbGb0tZ ++ return 0 + [[ 1 -eq 1 ]] + desc 'wait for cluster consistency after resize' + set +o xtrace ----------------------------------------------------------------------------------- wait for cluster consistency after resize ----------------------------------------------------------------------------------- + wait_cluster_consistency some-name 64 + local cluster_name=some-name + local wait_time=64 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TOiRtBadxI +++ mktemp ++ local LAST_ERR=/tmp/tmp.FSOQj8unxS ++ 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.TOiRtBadxI ++ cat /tmp/tmp.FSOQj8unxS ++ rm /tmp/tmp.TOiRtBadxI /tmp/tmp.FSOQj8unxS ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'verify cluster is ready' + set +o xtrace ----------------------------------------------------------------------------------- verify cluster is ready ----------------------------------------------------------------------------------- + kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' + grep -q ready ++ mktemp + local LAST_OUT=/tmp/tmp.4lewbFXPLP ++ mktemp + local LAST_ERR=/tmp/tmp.hBw5bCn7NY + 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.4lewbFXPLP + cat /tmp/tmp.hBw5bCn7NY + rm /tmp/tmp.4lewbFXPLP /tmp/tmp.hBw5bCn7NY + return 0 + [[ -n '' ]] + [[ 0 == 1 ]] + desc 'test namespace resource quota enforcement' + set +o xtrace ----------------------------------------------------------------------------------- test namespace resource quota enforcement ----------------------------------------------------------------------------------- + apply_resourcequota 9Gi + local quota=9Gi + local default_sc ++ get_default_storageclass ++ kubectl_bin get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FBTu5ytSGE +++ mktemp ++ local LAST_ERR=/tmp/tmp.PjbYrOLFdZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FBTu5ytSGE ++ cat /tmp/tmp.PjbYrOLFdZ ++ rm /tmp/tmp.FBTu5ytSGE /tmp/tmp.PjbYrOLFdZ ++ return 0 + default_sc=standard-rwo + echo 'Applying resourcequota for default storageclass standard-rwo with quota 9Gi' Applying resourcequota for default storageclass standard-rwo with quota 9Gi + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/resourcequota.yml + sed s/STORAGECLASS/standard-rwo/ + sed s/QUOTA/9Gi/ + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.dnFZegDFaB ++ mktemp + local LAST_ERR=/tmp/tmp.LLJ6EBsEc1 + 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.dnFZegDFaB resourcequota/default-storage-quota created + cat /tmp/tmp.LLJ6EBsEc1 + rm /tmp/tmp.dnFZegDFaB /tmp/tmp.LLJ6EBsEc1 + return 0 + echo 'Filling disk again to trigger autoscaling with quota limit' Filling disk again to trigger autoscaling with quota limit + fill_disk_to_threshold some-name-rs0-0 50 1700 + local pod=some-name-rs0-0 + local threshold=50 + local size_mb=1700 + echo 'Filling disk on some-name-rs0-0 to approximately 50% (creating 1700MB file)' Filling disk on some-name-rs0-0 to approximately 50% (creating 1700MB file) + kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=1700 2>/dev/null || true' ++ mktemp + local LAST_OUT=/tmp/tmp.cRCAyGePW1 ++ mktemp + local LAST_ERR=/tmp/tmp.Wcb48bzHfZ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=1700 2>/dev/null || true' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cRCAyGePW1 + cat /tmp/tmp.Wcb48bzHfZ + rm /tmp/tmp.cRCAyGePW1 /tmp/tmp.Wcb48bzHfZ + return 0 + local usage ++ kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tJeURLzxMo +++ mktemp ++ local LAST_ERR=/tmp/tmp.JeDxvoV1gH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.tJeURLzxMo ++ cat /tmp/tmp.JeDxvoV1gH ++ rm /tmp/tmp.tJeURLzxMo /tmp/tmp.JeDxvoV1gH ++ return 0 + usage=65 + echo 'Current disk usage on some-name-rs0-0: 65%' Current disk usage on some-name-rs0-0: 65% + echo 'Waiting to verify PVC does not resize beyond quota (should stay at 3Gi)' Waiting to verify PVC does not resize beyond quota (should stay at 3Gi) + sleep 30 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tbggCVfIgq +++ mktemp ++ local LAST_ERR=/tmp/tmp.yzeJazlasl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.tbggCVfIgq ++ cat /tmp/tmp.yzeJazlasl ++ rm /tmp/tmp.tbggCVfIgq /tmp/tmp.yzeJazlasl ++ return 0 + current_size=3Gi + [[ 3Gi != 3Gi ]] + desc 'increase quota to allow further autoscaling' + set +o xtrace ----------------------------------------------------------------------------------- increase quota to allow further autoscaling ----------------------------------------------------------------------------------- + apply_resourcequota 15Gi + local quota=15Gi + local default_sc ++ get_default_storageclass ++ kubectl_bin get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7kUXwaMqSt +++ mktemp ++ local LAST_ERR=/tmp/tmp.H4araJWtcW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7kUXwaMqSt ++ cat /tmp/tmp.H4araJWtcW ++ rm /tmp/tmp.7kUXwaMqSt /tmp/tmp.H4araJWtcW ++ return 0 + default_sc=standard-rwo + echo 'Applying resourcequota for default storageclass standard-rwo with quota 15Gi' Applying resourcequota for default storageclass standard-rwo with quota 15Gi + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/resourcequota.yml + sed s/STORAGECLASS/standard-rwo/ + sed s/QUOTA/15Gi/ + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.3iJ1kTLPUv ++ mktemp + local LAST_ERR=/tmp/tmp.YIPXEYDS2j + 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.3iJ1kTLPUv resourcequota/default-storage-quota configured + cat /tmp/tmp.YIPXEYDS2j + rm /tmp/tmp.3iJ1kTLPUv /tmp/tmp.YIPXEYDS2j + return 0 + wait_for_auto_resize mongod-data-some-name-rs0-0 5Gi 60 10 + local pvc=mongod-data-some-name-rs0-0 + local expected_size=5Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 5Gi' Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 5Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7dRYht92nU +++ mktemp ++ local LAST_ERR=/tmp/tmp.j4iEt5vjfB ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7dRYht92nU ++ cat /tmp/tmp.j4iEt5vjfB ++ rm /tmp/tmp.7dRYht92nU /tmp/tmp.j4iEt5vjfB ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.betpXitYqF +++ mktemp ++ local LAST_ERR=/tmp/tmp.DoA1w0nd0i ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.betpXitYqF ++ cat /tmp/tmp.DoA1w0nd0i ++ rm /tmp/tmp.betpXitYqF /tmp/tmp.DoA1w0nd0i ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hnEp1Fjgrf +++ mktemp ++ local LAST_ERR=/tmp/tmp.j5wUgeiLf3 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hnEp1Fjgrf ++ cat /tmp/tmp.j5wUgeiLf3 ++ rm /tmp/tmp.hnEp1Fjgrf /tmp/tmp.j5wUgeiLf3 ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 2 -ge 60 ]] + echo -n . .+ sleep 10 + retry=3 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IT5mjHkUu8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.dtse93cXox ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.IT5mjHkUu8 ++ cat /tmp/tmp.dtse93cXox ++ rm /tmp/tmp.IT5mjHkUu8 /tmp/tmp.dtse93cXox ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 3 -ge 60 ]] + echo -n . .+ sleep 10 + retry=4 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gjBP7gX9We +++ mktemp ++ local LAST_ERR=/tmp/tmp.KOmtL6llh8 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.gjBP7gX9We ++ cat /tmp/tmp.KOmtL6llh8 ++ rm /tmp/tmp.gjBP7gX9We /tmp/tmp.KOmtL6llh8 ++ return 0 + [[ 5Gi == 5Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-0 successfully resized to 5Gi' PVC mongod-data-some-name-rs0-0 successfully resized to 5Gi + wait_for_auto_resize mongod-data-some-name-rs0-1 5Gi 60 10 + local pvc=mongod-data-some-name-rs0-1 + local expected_size=5Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 5Gi' Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 5Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-1 ++ local pvc=mongod-data-some-name-rs0-1 ++ kubectl_bin get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rcju2uwlg8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.LODi3C17UK ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rcju2uwlg8 ++ cat /tmp/tmp.LODi3C17UK ++ rm /tmp/tmp.rcju2uwlg8 /tmp/tmp.LODi3C17UK ++ return 0 + [[ 5Gi == 5Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-1 successfully resized to 5Gi' PVC mongod-data-some-name-rs0-1 successfully resized to 5Gi + wait_for_auto_resize mongod-data-some-name-rs0-2 5Gi 60 10 + local pvc=mongod-data-some-name-rs0-2 + local expected_size=5Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 5Gi' Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 5Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Qi38NzfPXg +++ mktemp ++ local LAST_ERR=/tmp/tmp.xh8QmPiNy5 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Qi38NzfPXg ++ cat /tmp/tmp.xh8QmPiNy5 ++ rm /tmp/tmp.Qi38NzfPXg /tmp/tmp.xh8QmPiNy5 ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8G4is96Uo4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.VIlydytPO9 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8G4is96Uo4 ++ cat /tmp/tmp.VIlydytPO9 ++ rm /tmp/tmp.8G4is96Uo4 /tmp/tmp.VIlydytPO9 ++ return 0 + [[ 3Gi == 5Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ba512eu2sc +++ mktemp ++ local LAST_ERR=/tmp/tmp.V4jW9ThYC1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ba512eu2sc ++ cat /tmp/tmp.V4jW9ThYC1 ++ rm /tmp/tmp.ba512eu2sc /tmp/tmp.V4jW9ThYC1 ++ return 0 + [[ 5Gi == 5Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-2 successfully resized to 5Gi' PVC mongod-data-some-name-rs0-2 successfully resized to 5Gi + desc 'verify cluster consistency after quota test' + set +o xtrace ----------------------------------------------------------------------------------- verify cluster consistency after quota test ----------------------------------------------------------------------------------- + wait_cluster_consistency some-name 64 + local cluster_name=some-name + local wait_time=64 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tvkRgYZc07 +++ mktemp ++ local LAST_ERR=/tmp/tmp.dzwdnW8bjS ++ 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.tvkRgYZc07 ++ cat /tmp/tmp.dzwdnW8bjS ++ rm /tmp/tmp.tvkRgYZc07 /tmp/tmp.dzwdnW8bjS ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 64 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.GNi7OsLVLE +++ mktemp ++ local LAST_ERR=/tmp/tmp.2efACe9VH9 ++ 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.GNi7OsLVLE ++ cat /tmp/tmp.2efACe9VH9 ++ rm /tmp/tmp.GNi7OsLVLE /tmp/tmp.2efACe9VH9 ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'test maxSize limit' + set +o xtrace ----------------------------------------------------------------------------------- test maxSize limit ----------------------------------------------------------------------------------- + apply_resourcequota 30Gi + local quota=30Gi + local default_sc ++ get_default_storageclass ++ kubectl_bin get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.D3x9W6qRrk +++ mktemp ++ local LAST_ERR=/tmp/tmp.rG8KqWbcrl ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sc -o 'jsonpath={.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.D3x9W6qRrk ++ cat /tmp/tmp.rG8KqWbcrl ++ rm /tmp/tmp.D3x9W6qRrk /tmp/tmp.rG8KqWbcrl ++ return 0 + default_sc=standard-rwo + echo 'Applying resourcequota for default storageclass standard-rwo with quota 30Gi' Applying resourcequota for default storageclass standard-rwo with quota 30Gi + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/pvc-auto-resize/conf/resourcequota.yml + sed s/STORAGECLASS/standard-rwo/ + sed s/QUOTA/30Gi/ + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.I0nJ93sREj ++ mktemp + local LAST_ERR=/tmp/tmp.Ag5ZWUDxqb + 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.I0nJ93sREj resourcequota/default-storage-quota configured + cat /tmp/tmp.Ag5ZWUDxqb + rm /tmp/tmp.I0nJ93sREj /tmp/tmp.Ag5ZWUDxqb + return 0 + echo 'Continuing to fill disk to test maxSize enforcement' Continuing to fill disk to test maxSize enforcement + fill_disk_to_threshold some-name-rs0-0 50 2900 + local pod=some-name-rs0-0 + local threshold=50 + local size_mb=2900 + echo 'Filling disk on some-name-rs0-0 to approximately 50% (creating 2900MB file)' Filling disk on some-name-rs0-0 to approximately 50% (creating 2900MB file) + kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=2900 2>/dev/null || true' ++ mktemp + local LAST_OUT=/tmp/tmp.5dUcGDQls6 ++ mktemp + local LAST_ERR=/tmp/tmp.WCq98TDMcK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=2900 2>/dev/null || true' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5dUcGDQls6 + cat /tmp/tmp.WCq98TDMcK + rm /tmp/tmp.5dUcGDQls6 /tmp/tmp.WCq98TDMcK + return 0 + local usage ++ kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' +++ mktemp ++ local LAST_OUT=/tmp/tmp.k284VuqPzl +++ mktemp ++ local LAST_ERR=/tmp/tmp.jb0zFpwaId ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.k284VuqPzl ++ cat /tmp/tmp.jb0zFpwaId ++ rm /tmp/tmp.k284VuqPzl /tmp/tmp.jb0zFpwaId ++ return 0 + usage=63 + echo 'Current disk usage on some-name-rs0-0: 63%' Current disk usage on some-name-rs0-0: 63% + wait_for_auto_resize mongod-data-some-name-rs0-0 7Gi 60 10 + local pvc=mongod-data-some-name-rs0-0 + local expected_size=7Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 7Gi' Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 7Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TByfbqErEN +++ mktemp ++ local LAST_ERR=/tmp/tmp.2gIWWnUy7N ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TByfbqErEN ++ cat /tmp/tmp.2gIWWnUy7N ++ rm /tmp/tmp.TByfbqErEN /tmp/tmp.2gIWWnUy7N ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Es5Rfcyux9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.PN8uMRUAbD ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Es5Rfcyux9 ++ cat /tmp/tmp.PN8uMRUAbD ++ rm /tmp/tmp.Es5Rfcyux9 /tmp/tmp.PN8uMRUAbD ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PmaNkHUpwN +++ mktemp ++ local LAST_ERR=/tmp/tmp.G8Jj8AShRr ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PmaNkHUpwN ++ cat /tmp/tmp.G8Jj8AShRr ++ rm /tmp/tmp.PmaNkHUpwN /tmp/tmp.G8Jj8AShRr ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 2 -ge 60 ]] + echo -n . .+ sleep 10 + retry=3 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.U0Wz6eaoM0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.chFS8VUxN6 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.U0Wz6eaoM0 ++ cat /tmp/tmp.chFS8VUxN6 ++ rm /tmp/tmp.U0Wz6eaoM0 /tmp/tmp.chFS8VUxN6 ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 3 -ge 60 ]] + echo -n . .+ sleep 10 + retry=4 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.c8W5YQLOsl +++ mktemp ++ local LAST_ERR=/tmp/tmp.s9UakLEJFz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.c8W5YQLOsl ++ cat /tmp/tmp.s9UakLEJFz ++ rm /tmp/tmp.c8W5YQLOsl /tmp/tmp.s9UakLEJFz ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 4 -ge 60 ]] + echo -n . .+ sleep 10 + retry=5 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5z5Yvmvrbh +++ mktemp ++ local LAST_ERR=/tmp/tmp.Jqp2Pl5Vii ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5z5Yvmvrbh ++ cat /tmp/tmp.Jqp2Pl5Vii ++ rm /tmp/tmp.5z5Yvmvrbh /tmp/tmp.Jqp2Pl5Vii ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 5 -ge 60 ]] + echo -n . .+ sleep 10 + retry=6 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vYVw1AFs8j +++ mktemp ++ local LAST_ERR=/tmp/tmp.Lc23In0JeK ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vYVw1AFs8j ++ cat /tmp/tmp.Lc23In0JeK ++ rm /tmp/tmp.vYVw1AFs8j /tmp/tmp.Lc23In0JeK ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 6 -ge 60 ]] + echo -n . .+ sleep 10 + retry=7 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1PPzWfTHqu +++ mktemp ++ local LAST_ERR=/tmp/tmp.rp0y7My66z ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1PPzWfTHqu ++ cat /tmp/tmp.rp0y7My66z ++ rm /tmp/tmp.1PPzWfTHqu /tmp/tmp.rp0y7My66z ++ return 0 + [[ 5Gi == 7Gi ]] + [[ 7 -ge 60 ]] + echo -n . .+ sleep 10 + retry=8 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PKiIUkw3GO +++ mktemp ++ local LAST_ERR=/tmp/tmp.rvkBFbeqHL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PKiIUkw3GO ++ cat /tmp/tmp.rvkBFbeqHL ++ rm /tmp/tmp.PKiIUkw3GO /tmp/tmp.rvkBFbeqHL ++ return 0 + [[ 7Gi == 7Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-0 successfully resized to 7Gi' PVC mongod-data-some-name-rs0-0 successfully resized to 7Gi + wait_for_auto_resize mongod-data-some-name-rs0-1 7Gi 60 10 + local pvc=mongod-data-some-name-rs0-1 + local expected_size=7Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 7Gi' Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 7Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-1 ++ local pvc=mongod-data-some-name-rs0-1 ++ kubectl_bin get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xbCtQelS8O +++ mktemp ++ local LAST_ERR=/tmp/tmp.0YppzhUL90 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xbCtQelS8O ++ cat /tmp/tmp.0YppzhUL90 ++ rm /tmp/tmp.xbCtQelS8O /tmp/tmp.0YppzhUL90 ++ return 0 + [[ 7Gi == 7Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-1 successfully resized to 7Gi' PVC mongod-data-some-name-rs0-1 successfully resized to 7Gi + wait_for_auto_resize mongod-data-some-name-rs0-2 7Gi 60 10 + local pvc=mongod-data-some-name-rs0-2 + local expected_size=7Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 7Gi' Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 7Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.F933o8ySZN +++ mktemp ++ local LAST_ERR=/tmp/tmp.2Vb9XJGBR6 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.F933o8ySZN ++ cat /tmp/tmp.2Vb9XJGBR6 ++ rm /tmp/tmp.F933o8ySZN /tmp/tmp.2Vb9XJGBR6 ++ return 0 + [[ 7Gi == 7Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-2 successfully resized to 7Gi' PVC mongod-data-some-name-rs0-2 successfully resized to 7Gi + fill_disk_to_threshold some-name-rs0-0 50 4000 + local pod=some-name-rs0-0 + local threshold=50 + local size_mb=4000 + echo 'Filling disk on some-name-rs0-0 to approximately 50% (creating 4000MB file)' Filling disk on some-name-rs0-0 to approximately 50% (creating 4000MB file) + kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=4000 2>/dev/null || true' ++ mktemp + local LAST_OUT=/tmp/tmp.wQVnIfUhkx ++ mktemp + local LAST_ERR=/tmp/tmp.p70vjq0gvJ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=4000 2>/dev/null || true' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wQVnIfUhkx + cat /tmp/tmp.p70vjq0gvJ + rm /tmp/tmp.wQVnIfUhkx /tmp/tmp.p70vjq0gvJ + return 0 + local usage ++ kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' +++ mktemp ++ local LAST_OUT=/tmp/tmp.L8rSEo02UI +++ mktemp ++ local LAST_ERR=/tmp/tmp.g9TEZtrFKz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.L8rSEo02UI ++ cat /tmp/tmp.g9TEZtrFKz ++ rm /tmp/tmp.L8rSEo02UI /tmp/tmp.g9TEZtrFKz ++ return 0 + usage=61 + echo 'Current disk usage on some-name-rs0-0: 61%' Current disk usage on some-name-rs0-0: 61% + wait_for_auto_resize mongod-data-some-name-rs0-0 9Gi 60 10 + local pvc=mongod-data-some-name-rs0-0 + local expected_size=9Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 9Gi' Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 9Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zWVm3eK4ov +++ mktemp ++ local LAST_ERR=/tmp/tmp.oAiiepRaaP ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zWVm3eK4ov ++ cat /tmp/tmp.oAiiepRaaP ++ rm /tmp/tmp.zWVm3eK4ov /tmp/tmp.oAiiepRaaP ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mlfYIvoI1O +++ mktemp ++ local LAST_ERR=/tmp/tmp.15UCaN3JOk ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mlfYIvoI1O ++ cat /tmp/tmp.15UCaN3JOk ++ rm /tmp/tmp.mlfYIvoI1O /tmp/tmp.15UCaN3JOk ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ghELUDo0B5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.kMbJEQBNCq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ghELUDo0B5 ++ cat /tmp/tmp.kMbJEQBNCq ++ rm /tmp/tmp.ghELUDo0B5 /tmp/tmp.kMbJEQBNCq ++ return 0 + [[ 9Gi == 9Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-0 successfully resized to 9Gi' PVC mongod-data-some-name-rs0-0 successfully resized to 9Gi + wait_for_auto_resize mongod-data-some-name-rs0-1 9Gi 60 10 + local pvc=mongod-data-some-name-rs0-1 + local expected_size=9Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 9Gi' Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 9Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-1 ++ local pvc=mongod-data-some-name-rs0-1 ++ kubectl_bin get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LeSxLcDHoE +++ mktemp ++ local LAST_ERR=/tmp/tmp.Bvi4ZpqgqD ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LeSxLcDHoE ++ cat /tmp/tmp.Bvi4ZpqgqD ++ rm /tmp/tmp.LeSxLcDHoE /tmp/tmp.Bvi4ZpqgqD ++ return 0 + [[ 9Gi == 9Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-1 successfully resized to 9Gi' PVC mongod-data-some-name-rs0-1 successfully resized to 9Gi + wait_for_auto_resize mongod-data-some-name-rs0-2 9Gi 60 10 + local pvc=mongod-data-some-name-rs0-2 + local expected_size=9Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 9Gi' Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 9Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Tb0VaAkp08 +++ mktemp ++ local LAST_ERR=/tmp/tmp.g5nOe1VyKv ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Tb0VaAkp08 ++ cat /tmp/tmp.g5nOe1VyKv ++ rm /tmp/tmp.Tb0VaAkp08 /tmp/tmp.g5nOe1VyKv ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JmnynKcQAm +++ mktemp ++ local LAST_ERR=/tmp/tmp.BTA7b28vIu ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JmnynKcQAm ++ cat /tmp/tmp.BTA7b28vIu ++ rm /tmp/tmp.JmnynKcQAm /tmp/tmp.BTA7b28vIu ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZlJnYO2lTX +++ mktemp ++ local LAST_ERR=/tmp/tmp.tymVcWYe8o ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZlJnYO2lTX ++ cat /tmp/tmp.tymVcWYe8o ++ rm /tmp/tmp.ZlJnYO2lTX /tmp/tmp.tymVcWYe8o ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 2 -ge 60 ]] + echo -n . .+ sleep 10 + retry=3 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BchDbAkkwQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.EC1DqKJpEH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BchDbAkkwQ ++ cat /tmp/tmp.EC1DqKJpEH ++ rm /tmp/tmp.BchDbAkkwQ /tmp/tmp.EC1DqKJpEH ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 3 -ge 60 ]] + echo -n . .+ sleep 10 + retry=4 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PNncsn6Lj4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.9eZIaAJqhZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PNncsn6Lj4 ++ cat /tmp/tmp.9eZIaAJqhZ ++ rm /tmp/tmp.PNncsn6Lj4 /tmp/tmp.9eZIaAJqhZ ++ return 0 + [[ 7Gi == 9Gi ]] + [[ 4 -ge 60 ]] + echo -n . .+ sleep 10 + retry=5 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.DtiCkwSquS +++ mktemp ++ local LAST_ERR=/tmp/tmp.4Sg1alxPGe ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.DtiCkwSquS ++ cat /tmp/tmp.4Sg1alxPGe ++ rm /tmp/tmp.DtiCkwSquS /tmp/tmp.4Sg1alxPGe ++ return 0 + [[ 9Gi == 9Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-2 successfully resized to 9Gi' PVC mongod-data-some-name-rs0-2 successfully resized to 9Gi + fill_disk_to_threshold some-name-rs0-0 50 5200 + local pod=some-name-rs0-0 + local threshold=50 + local size_mb=5200 + echo 'Filling disk on some-name-rs0-0 to approximately 50% (creating 5200MB file)' Filling disk on some-name-rs0-0 to approximately 50% (creating 5200MB file) + kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=5200 2>/dev/null || true' ++ mktemp + local LAST_OUT=/tmp/tmp.opimBT7Stj ++ mktemp + local LAST_ERR=/tmp/tmp.3UeDYtpI8R + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec some-name-rs0-0 -c mongod -- bash -c 'dd if=/dev/zero of=/data/db/fillfile bs=1M count=5200 2>/dev/null || true' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.opimBT7Stj + cat /tmp/tmp.3UeDYtpI8R + rm /tmp/tmp.opimBT7Stj /tmp/tmp.3UeDYtpI8R + return 0 + local usage ++ kubectl_bin exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UZMRyzb4mc +++ mktemp ++ local LAST_ERR=/tmp/tmp.QGAXxBGteX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec some-name-rs0-0 -c mongod -- bash -c 'df /data/db | tail -1 | awk '\''{print $5}'\'' | sed '\''s/%//'\''' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.UZMRyzb4mc ++ cat /tmp/tmp.QGAXxBGteX ++ rm /tmp/tmp.UZMRyzb4mc /tmp/tmp.QGAXxBGteX ++ return 0 + usage=61 + echo 'Current disk usage on some-name-rs0-0: 61%' Current disk usage on some-name-rs0-0: 61% ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xxV9unwMna +++ mktemp ++ local LAST_ERR=/tmp/tmp.weHC5hjHI3 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xxV9unwMna ++ cat /tmp/tmp.weHC5hjHI3 ++ rm /tmp/tmp.xxV9unwMna /tmp/tmp.weHC5hjHI3 ++ return 0 + final_size=9Gi + [[ 9Gi == 10Gi ]] + [[ 9Gi == 9Gi ]] + echo 'PVC is at 9Gi, will resize to 10Gi (maxSize)' PVC is at 9Gi, will resize to 10Gi (maxSize) + wait_for_auto_resize mongod-data-some-name-rs0-0 10Gi 60 10 + local pvc=mongod-data-some-name-rs0-0 + local expected_size=10Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 10Gi' Waiting for PVC mongod-data-some-name-rs0-0 to auto-resize to 10Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kmAq4g1qkz +++ mktemp ++ local LAST_ERR=/tmp/tmp.WDn9gRwkUv ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kmAq4g1qkz ++ cat /tmp/tmp.WDn9gRwkUv ++ rm /tmp/tmp.kmAq4g1qkz /tmp/tmp.WDn9gRwkUv ++ return 0 + [[ 9Gi == 10Gi ]] + [[ 0 -ge 60 ]] + echo -n . .+ sleep 10 + retry=1 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.G1ThDXgWR8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.y4HkWXkFT4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.G1ThDXgWR8 ++ cat /tmp/tmp.y4HkWXkFT4 ++ rm /tmp/tmp.G1ThDXgWR8 /tmp/tmp.y4HkWXkFT4 ++ return 0 + [[ 9Gi == 10Gi ]] + [[ 1 -ge 60 ]] + echo -n . .+ sleep 10 + retry=2 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BsjVVaV3HF +++ mktemp ++ local LAST_ERR=/tmp/tmp.aKpMNuGZJX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BsjVVaV3HF ++ cat /tmp/tmp.aKpMNuGZJX ++ rm /tmp/tmp.BsjVVaV3HF /tmp/tmp.aKpMNuGZJX ++ return 0 + [[ 9Gi == 10Gi ]] + [[ 2 -ge 60 ]] + echo -n . .+ sleep 10 + retry=3 ++ get_pvc_size mongod-data-some-name-rs0-0 ++ local pvc=mongod-data-some-name-rs0-0 ++ kubectl_bin get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fzckm5XEEF +++ mktemp ++ local LAST_ERR=/tmp/tmp.FW1aeoZEJo ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-0 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fzckm5XEEF ++ cat /tmp/tmp.FW1aeoZEJo ++ rm /tmp/tmp.fzckm5XEEF /tmp/tmp.FW1aeoZEJo ++ return 0 + [[ 10Gi == 10Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-0 successfully resized to 10Gi' PVC mongod-data-some-name-rs0-0 successfully resized to 10Gi + wait_for_auto_resize mongod-data-some-name-rs0-1 10Gi 60 10 + local pvc=mongod-data-some-name-rs0-1 + local expected_size=10Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 10Gi' Waiting for PVC mongod-data-some-name-rs0-1 to auto-resize to 10Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-1 ++ local pvc=mongod-data-some-name-rs0-1 ++ kubectl_bin get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5QAfvSi9EY +++ mktemp ++ local LAST_ERR=/tmp/tmp.fnV9mi1a8k ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-1 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5QAfvSi9EY ++ cat /tmp/tmp.fnV9mi1a8k ++ rm /tmp/tmp.5QAfvSi9EY /tmp/tmp.fnV9mi1a8k ++ return 0 + [[ 10Gi == 10Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-1 successfully resized to 10Gi' PVC mongod-data-some-name-rs0-1 successfully resized to 10Gi + wait_for_auto_resize mongod-data-some-name-rs0-2 10Gi 60 10 + local pvc=mongod-data-some-name-rs0-2 + local expected_size=10Gi + local max_retry=60 + local sleep_time=10 + echo 'Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 10Gi' Waiting for PVC mongod-data-some-name-rs0-2 to auto-resize to 10Gi + local retry=0 ++ get_pvc_size mongod-data-some-name-rs0-2 ++ local pvc=mongod-data-some-name-rs0-2 ++ kubectl_bin get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Im8GtQEUJH +++ mktemp ++ local LAST_ERR=/tmp/tmp.bWAOE82KGa ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pvc mongod-data-some-name-rs0-2 -o 'jsonpath={.status.capacity.storage}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Im8GtQEUJH ++ cat /tmp/tmp.bWAOE82KGa ++ rm /tmp/tmp.Im8GtQEUJH /tmp/tmp.bWAOE82KGa ++ return 0 + [[ 10Gi == 10Gi ]] + echo + echo 'PVC mongod-data-some-name-rs0-2 successfully resized to 10Gi' PVC mongod-data-some-name-rs0-2 successfully resized to 10Gi + desc 'verify final autoscaling status' + set +o xtrace ----------------------------------------------------------------------------------- verify final autoscaling status ----------------------------------------------------------------------------------- + check_autoscaling_status some-name 4 mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2 + local cluster=some-name + local expected_resize_count=4 + shift 2 + pvc_names=('mongod-data-some-name-rs0-0' 'mongod-data-some-name-rs0-1' 'mongod-data-some-name-rs0-2') + local pvc_names + local max_retry=30 + local sleep_time=10 + echo 'Checking autoscaling status for PVCs: mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2' Checking autoscaling status for PVCs: mongod-data-some-name-rs0-0 mongod-data-some-name-rs0-1 mongod-data-some-name-rs0-2 + echo 'Expected resize count per PVC: 4' Expected resize count per PVC: 4 + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VhqYcHDXTO +++ mktemp ++ local LAST_ERR=/tmp/tmp.SqEBqkviwi ++ 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.storageAutoscaling.mongod-data-some-name-rs0-0.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VhqYcHDXTO ++ cat /tmp/tmp.SqEBqkviwi ++ rm /tmp/tmp.VhqYcHDXTO /tmp/tmp.SqEBqkviwi ++ return 0 + [[ 4 -eq 4 ]] + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-1.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dO6hQ0tFhw +++ mktemp ++ local LAST_ERR=/tmp/tmp.5gpQ6soeIe ++ 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.storageAutoscaling.mongod-data-some-name-rs0-1.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dO6hQ0tFhw ++ cat /tmp/tmp.5gpQ6soeIe ++ rm /tmp/tmp.dO6hQ0tFhw /tmp/tmp.5gpQ6soeIe ++ return 0 + [[ 4 -eq 4 ]] + for pvc_name in "${pvc_names[@]}" + local retry=0 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SpjdV9TSBl +++ mktemp ++ local LAST_ERR=/tmp/tmp.FeNF2PnZgs ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.SpjdV9TSBl ++ cat /tmp/tmp.FeNF2PnZgs ++ rm /tmp/tmp.SpjdV9TSBl /tmp/tmp.FeNF2PnZgs ++ return 0 + [[ 5 -eq 4 ]] + [[ 0 -ge 30 ]] + echo -n . .+ sleep 10 + retry=1 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.n4YyDTyGDC +++ mktemp ++ local LAST_ERR=/tmp/tmp.SSouheUAeh ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.n4YyDTyGDC ++ cat /tmp/tmp.SSouheUAeh ++ rm /tmp/tmp.n4YyDTyGDC /tmp/tmp.SSouheUAeh ++ return 0 + [[ 5 -eq 4 ]] + [[ 1 -ge 30 ]] + echo -n . .+ sleep 10 + retry=2 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5hu0csDyUs +++ mktemp ++ local LAST_ERR=/tmp/tmp.Qn0sfmOI4q ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5hu0csDyUs ++ cat /tmp/tmp.Qn0sfmOI4q ++ rm /tmp/tmp.5hu0csDyUs /tmp/tmp.Qn0sfmOI4q ++ return 0 + [[ 5 -eq 4 ]] + [[ 2 -ge 30 ]] + echo -n . .+ sleep 10 + retry=3 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JSA2jhSUOB +++ mktemp ++ local LAST_ERR=/tmp/tmp.JV7KOCellv ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JSA2jhSUOB ++ cat /tmp/tmp.JV7KOCellv ++ rm /tmp/tmp.JSA2jhSUOB /tmp/tmp.JV7KOCellv ++ return 0 + [[ 5 -eq 4 ]] + [[ 3 -ge 30 ]] + echo -n . .+ sleep 10 + retry=4 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4V7jFviJY2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.09Od9gWqhM ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4V7jFviJY2 ++ cat /tmp/tmp.09Od9gWqhM ++ rm /tmp/tmp.4V7jFviJY2 /tmp/tmp.09Od9gWqhM ++ return 0 + [[ 5 -eq 4 ]] + [[ 4 -ge 30 ]] + echo -n . .+ sleep 10 + retry=5 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qYaESdDGSf +++ mktemp ++ local LAST_ERR=/tmp/tmp.BV9X9fXrxt ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qYaESdDGSf ++ cat /tmp/tmp.BV9X9fXrxt ++ rm /tmp/tmp.qYaESdDGSf /tmp/tmp.BV9X9fXrxt ++ return 0 + [[ 5 -eq 4 ]] + [[ 5 -ge 30 ]] + echo -n . .+ sleep 10 + retry=6 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.n63rvlZVls +++ mktemp ++ local LAST_ERR=/tmp/tmp.0dq4O1DHup ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.n63rvlZVls ++ cat /tmp/tmp.0dq4O1DHup ++ rm /tmp/tmp.n63rvlZVls /tmp/tmp.0dq4O1DHup ++ return 0 + [[ 5 -eq 4 ]] + [[ 6 -ge 30 ]] + echo -n . .+ sleep 10 + retry=7 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HJXR17BQMN +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vk1iihiwVE ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HJXR17BQMN ++ cat /tmp/tmp.Vk1iihiwVE ++ rm /tmp/tmp.HJXR17BQMN /tmp/tmp.Vk1iihiwVE ++ return 0 + [[ 5 -eq 4 ]] + [[ 7 -ge 30 ]] + echo -n . .+ sleep 10 + retry=8 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AShvDF0LZg +++ mktemp ++ local LAST_ERR=/tmp/tmp.67vs8iGk8s ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.AShvDF0LZg ++ cat /tmp/tmp.67vs8iGk8s ++ rm /tmp/tmp.AShvDF0LZg /tmp/tmp.67vs8iGk8s ++ return 0 + [[ 5 -eq 4 ]] + [[ 8 -ge 30 ]] + echo -n . .+ sleep 10 + retry=9 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NyKi61BatC +++ mktemp ++ local LAST_ERR=/tmp/tmp.YZd4PeutMn ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.NyKi61BatC ++ cat /tmp/tmp.YZd4PeutMn ++ rm /tmp/tmp.NyKi61BatC /tmp/tmp.YZd4PeutMn ++ return 0 + [[ 5 -eq 4 ]] + [[ 9 -ge 30 ]] + echo -n . .+ sleep 10 + retry=10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vTe0xI9NCF +++ mktemp ++ local LAST_ERR=/tmp/tmp.TBUMlmJI1i ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vTe0xI9NCF ++ cat /tmp/tmp.TBUMlmJI1i ++ rm /tmp/tmp.vTe0xI9NCF /tmp/tmp.TBUMlmJI1i ++ return 0 + [[ 5 -eq 4 ]] + [[ 10 -ge 30 ]] + echo -n . .+ sleep 10 + retry=11 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ynyeSDIJJT +++ mktemp ++ local LAST_ERR=/tmp/tmp.dVTFWZqytH ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ynyeSDIJJT ++ cat /tmp/tmp.dVTFWZqytH ++ rm /tmp/tmp.ynyeSDIJJT /tmp/tmp.dVTFWZqytH ++ return 0 + [[ 5 -eq 4 ]] + [[ 11 -ge 30 ]] + echo -n . .+ sleep 10 + retry=12 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.XdIIe1ZR4n +++ mktemp ++ local LAST_ERR=/tmp/tmp.nVdPfvXcZB ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.XdIIe1ZR4n ++ cat /tmp/tmp.nVdPfvXcZB ++ rm /tmp/tmp.XdIIe1ZR4n /tmp/tmp.nVdPfvXcZB ++ return 0 + [[ 5 -eq 4 ]] + [[ 12 -ge 30 ]] + echo -n . .+ sleep 10 + retry=13 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cnf1Oyx85l +++ mktemp ++ local LAST_ERR=/tmp/tmp.X3qXvk3CkS ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.cnf1Oyx85l ++ cat /tmp/tmp.X3qXvk3CkS ++ rm /tmp/tmp.cnf1Oyx85l /tmp/tmp.X3qXvk3CkS ++ return 0 + [[ 5 -eq 4 ]] + [[ 13 -ge 30 ]] + echo -n . .+ sleep 10 + retry=14 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.frgKsw7gRt +++ mktemp ++ local LAST_ERR=/tmp/tmp.NoagI9b2o6 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.frgKsw7gRt ++ cat /tmp/tmp.NoagI9b2o6 ++ rm /tmp/tmp.frgKsw7gRt /tmp/tmp.NoagI9b2o6 ++ return 0 + [[ 5 -eq 4 ]] + [[ 14 -ge 30 ]] + echo -n . .+ sleep 10 + retry=15 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gMAwQymjz6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.XdYfCPtE35 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.gMAwQymjz6 ++ cat /tmp/tmp.XdYfCPtE35 ++ rm /tmp/tmp.gMAwQymjz6 /tmp/tmp.XdYfCPtE35 ++ return 0 + [[ 5 -eq 4 ]] + [[ 15 -ge 30 ]] + echo -n . .+ sleep 10 + retry=16 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jjRyw5rYsg +++ mktemp ++ local LAST_ERR=/tmp/tmp.ELAlINBtlv ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jjRyw5rYsg ++ cat /tmp/tmp.ELAlINBtlv ++ rm /tmp/tmp.jjRyw5rYsg /tmp/tmp.ELAlINBtlv ++ return 0 + [[ 5 -eq 4 ]] + [[ 16 -ge 30 ]] + echo -n . .+ sleep 10 + retry=17 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4sGfKYjuQl +++ mktemp ++ local LAST_ERR=/tmp/tmp.jGlgVN3pUr ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4sGfKYjuQl ++ cat /tmp/tmp.jGlgVN3pUr ++ rm /tmp/tmp.4sGfKYjuQl /tmp/tmp.jGlgVN3pUr ++ return 0 + [[ 5 -eq 4 ]] + [[ 17 -ge 30 ]] + echo -n . .+ sleep 10 + retry=18 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.luqFIUux4J +++ mktemp ++ local LAST_ERR=/tmp/tmp.KeS6fIsMbq ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.luqFIUux4J ++ cat /tmp/tmp.KeS6fIsMbq ++ rm /tmp/tmp.luqFIUux4J /tmp/tmp.KeS6fIsMbq ++ return 0 + [[ 5 -eq 4 ]] + [[ 18 -ge 30 ]] + echo -n . .+ sleep 10 + retry=19 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.E0qLg1CT6T +++ mktemp ++ local LAST_ERR=/tmp/tmp.xalDis1c34 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.E0qLg1CT6T ++ cat /tmp/tmp.xalDis1c34 ++ rm /tmp/tmp.E0qLg1CT6T /tmp/tmp.xalDis1c34 ++ return 0 + [[ 5 -eq 4 ]] + [[ 19 -ge 30 ]] + echo -n . .+ sleep 10 + retry=20 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1qmVykvD8R +++ mktemp ++ local LAST_ERR=/tmp/tmp.gKvLLECel9 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1qmVykvD8R ++ cat /tmp/tmp.gKvLLECel9 ++ rm /tmp/tmp.1qmVykvD8R /tmp/tmp.gKvLLECel9 ++ return 0 + [[ 5 -eq 4 ]] + [[ 20 -ge 30 ]] + echo -n . .+ sleep 10 + retry=21 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.2q7lA26Pmp +++ mktemp ++ local LAST_ERR=/tmp/tmp.BQy4A8PJue ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2q7lA26Pmp ++ cat /tmp/tmp.BQy4A8PJue ++ rm /tmp/tmp.2q7lA26Pmp /tmp/tmp.BQy4A8PJue ++ return 0 + [[ 5 -eq 4 ]] + [[ 21 -ge 30 ]] + echo -n . .+ sleep 10 + retry=22 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xnpK7HSXPQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.kzlIywgZk5 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xnpK7HSXPQ ++ cat /tmp/tmp.kzlIywgZk5 ++ rm /tmp/tmp.xnpK7HSXPQ /tmp/tmp.kzlIywgZk5 ++ return 0 + [[ 5 -eq 4 ]] + [[ 22 -ge 30 ]] + echo -n . .+ sleep 10 + retry=23 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ySpbQso6Nt +++ mktemp ++ local LAST_ERR=/tmp/tmp.18dBgu0LGM ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ySpbQso6Nt ++ cat /tmp/tmp.18dBgu0LGM ++ rm /tmp/tmp.ySpbQso6Nt /tmp/tmp.18dBgu0LGM ++ return 0 + [[ 5 -eq 4 ]] + [[ 23 -ge 30 ]] + echo -n . .+ sleep 10 + retry=24 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mINrOoax5J +++ mktemp ++ local LAST_ERR=/tmp/tmp.N0tY6rH7Cw ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mINrOoax5J ++ cat /tmp/tmp.N0tY6rH7Cw ++ rm /tmp/tmp.mINrOoax5J /tmp/tmp.N0tY6rH7Cw ++ return 0 + [[ 5 -eq 4 ]] + [[ 24 -ge 30 ]] + echo -n . .+ sleep 10 + retry=25 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.susj5PRNgm +++ mktemp ++ local LAST_ERR=/tmp/tmp.H9nTXx1HdU ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.susj5PRNgm ++ cat /tmp/tmp.H9nTXx1HdU ++ rm /tmp/tmp.susj5PRNgm /tmp/tmp.H9nTXx1HdU ++ return 0 + [[ 5 -eq 4 ]] + [[ 25 -ge 30 ]] + echo -n . .+ sleep 10 + retry=26 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.T37uRYWchG +++ mktemp ++ local LAST_ERR=/tmp/tmp.fsGy24a6DO ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.T37uRYWchG ++ cat /tmp/tmp.fsGy24a6DO ++ rm /tmp/tmp.T37uRYWchG /tmp/tmp.fsGy24a6DO ++ return 0 + [[ 5 -eq 4 ]] + [[ 26 -ge 30 ]] + echo -n . .+ sleep 10 + retry=27 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.J6UnwwErYx +++ mktemp ++ local LAST_ERR=/tmp/tmp.urLAQzOusp ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.J6UnwwErYx ++ cat /tmp/tmp.urLAQzOusp ++ rm /tmp/tmp.J6UnwwErYx /tmp/tmp.urLAQzOusp ++ return 0 + [[ 5 -eq 4 ]] + [[ 27 -ge 30 ]] + echo -n . .+ sleep 10 + retry=28 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ObmAFEmiBn +++ mktemp ++ local LAST_ERR=/tmp/tmp.yHqHOla8Wm ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ObmAFEmiBn ++ cat /tmp/tmp.yHqHOla8Wm ++ rm /tmp/tmp.ObmAFEmiBn /tmp/tmp.yHqHOla8Wm ++ return 0 + [[ 5 -eq 4 ]] + [[ 28 -ge 30 ]] + echo -n . .+ sleep 10 + retry=29 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5S1x1LOpG5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.79hnX2WRH9 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5S1x1LOpG5 ++ cat /tmp/tmp.79hnX2WRH9 ++ rm /tmp/tmp.5S1x1LOpG5 /tmp/tmp.79hnX2WRH9 ++ return 0 + [[ 5 -eq 4 ]] + [[ 29 -ge 30 ]] + echo -n . .+ sleep 10 + retry=30 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ApsAVJH99i +++ mktemp ++ local LAST_ERR=/tmp/tmp.xy0PTnw3L8 ++ 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.storageAutoscaling.mongod-data-some-name-rs0-2.resizeCount}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ApsAVJH99i ++ cat /tmp/tmp.xy0PTnw3L8 ++ rm /tmp/tmp.ApsAVJH99i /tmp/tmp.xy0PTnw3L8 ++ return 0 + [[ 5 -eq 4 ]] + [[ 30 -ge 30 ]] + echo + echo 'ERROR: PVC mongod-data-some-name-rs0-2 resize count did not reach 4, max retries exceeded' ERROR: PVC mongod-data-some-name-rs0-2 resize count did not reach 4, max retries exceeded + kubectl_bin get psmdb some-name -o 'jsonpath={.status.storageAutoscaling}' + jq . ++ mktemp + local LAST_OUT=/tmp/tmp.uaG0Qfjxv1 ++ mktemp + local LAST_ERR=/tmp/tmp.3V0UaLjtY5 + 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.storageAutoscaling}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uaG0Qfjxv1 + cat /tmp/tmp.3V0UaLjtY5 + rm /tmp/tmp.uaG0Qfjxv1 /tmp/tmp.3V0UaLjtY5 + return 0 { "mongod-data-some-name-rs0-0": { "currentSize": "10283868Ki", "lastResizeTime": "2026-04-23T10:06:10Z", "resizeCount": 5 }, "mongod-data-some-name-rs0-1": { "currentSize": "10283868Ki", "lastResizeTime": "2026-04-23T10:06:10Z", "resizeCount": 5 }, "mongod-data-some-name-rs0-2": { "currentSize": "10283868Ki", "lastResizeTime": "2026-04-23T10:06:10Z", "resizeCount": 5 } } + exit 1