Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/logs/rs-shard-migration.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + main + cluster=some-name + CLUSTER_SIZE=3 + create_infra rs-shard-migration-24418 + local ns=rs-shard-migration-24418 + echo rs-shard-migration-24418 + [[ 0 == 1 ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ awk '{print $1}' ++ grep chaos-mesh + 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 ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' ++ mktemp + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.6Cc0LywxFY + local LAST_OUT=/tmp/tmp.dlGM2WEzgE ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.62wAGqX2AE + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.Om90wNyl25 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6Cc0LywxFY + cat /tmp/tmp.62wAGqX2AE + rm /tmp/tmp.6Cc0LywxFY /tmp/tmp.62wAGqX2AE + return 0 namespace "replset-remapping-19857" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dlGM2WEzgE namespace "psmdb-operator" deleted + cat /tmp/tmp.Om90wNyl25 + rm /tmp/tmp.dlGM2WEzgE /tmp/tmp.Om90wNyl25 + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.kwqWaGNc2N ++ mktemp + local LAST_ERR=/tmp/tmp.xlwuYpJ5Ve + 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.kwqWaGNc2N + cat /tmp/tmp.xlwuYpJ5Ve + rm /tmp/tmp.kwqWaGNc2N /tmp/tmp.xlwuYpJ5Ve + 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.oAXEA5pium ++ mktemp + local LAST_ERR=/tmp/tmp.JnKyaX7HBy + 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.oAXEA5pium namespace/psmdb-operator created + cat /tmp/tmp.JnKyaX7HBy + rm /tmp/tmp.oAXEA5pium /tmp/tmp.JnKyaX7HBy + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.itxCD1mEU9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.YRHtNizhF7 ++ 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.itxCD1mEU9 ++ cat /tmp/tmp.YRHtNizhF7 ++ rm /tmp/tmp.itxCD1mEU9 /tmp/tmp.YRHtNizhF7 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster15 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.wi4ooDBkM8 ++ mktemp + local LAST_ERR=/tmp/tmp.nTcHLhbE3S + 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-2058-fb8cc7187-17-cluster15 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wi4ooDBkM8 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster15" modified. + cat /tmp/tmp.nTcHLhbE3S + rm /tmp/tmp.wi4ooDBkM8 /tmp/tmp.nTcHLhbE3S + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.OoMGn2TwC3 ++ mktemp + local LAST_ERR=/tmp/tmp.o8jXKsy5Aw + 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-2058/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OoMGn2TwC3 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.o8jXKsy5Aw + rm /tmp/tmp.OoMGn2TwC3 /tmp/tmp.o8jXKsy5Aw + 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-2058/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.K2QasD430C ++ mktemp + local LAST_ERR=/tmp/tmp.fHcdL9TCs0 + 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.K2QasD430C clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator unchanged serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.fHcdL9TCs0 + rm /tmp/tmp.K2QasD430C /tmp/tmp.fHcdL9TCs0 + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187") |\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-2058/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.U6ffnZsIs2 ++ mktemp + local LAST_ERR=/tmp/tmp.YGmfbO2rdL + 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.U6ffnZsIs2 deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.YGmfbO2rdL + rm /tmp/tmp.U6ffnZsIs2 /tmp/tmp.YGmfbO2rdL + 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.HltHx1TqG5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.2ZyvpiSFUQ ++ 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.HltHx1TqG5 ++ cat /tmp/tmp.2ZyvpiSFUQ ++ rm /tmp/tmp.HltHx1TqG5 /tmp/tmp.2ZyvpiSFUQ ++ return 0 + wait_operator_pod percona-server-mongodb-operator-859f4bc6d7-9fkc5 + local pod=percona-server-mongodb-operator-859f4bc6d7-9fkc5 + set +o xtrace waiting for pod/percona-server-mongodb-operator-859f4bc6d7-9fkc5 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.zwID5tt2Zv +++ mktemp ++ local LAST_ERR=/tmp/tmp.Z5rEHURXV4 ++ 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.zwID5tt2Zv ++ cat /tmp/tmp.Z5rEHURXV4 ++ rm /tmp/tmp.zwID5tt2Zv /tmp/tmp.Z5rEHURXV4 ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-859f4bc6d7-9fkc5 ++ mktemp + local LAST_OUT=/tmp/tmp.VjHY861Frf ++ mktemp + local LAST_ERR=/tmp/tmp.NAyG7SJJ0R + 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-859f4bc6d7-9fkc5 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VjHY861Frf + cat /tmp/tmp.NAyG7SJJ0R + rm /tmp/tmp.VjHY861Frf /tmp/tmp.NAyG7SJJ0R + return 0 2026-06-09T10:22:32.502Z INFO setup Manager starting up {"gitCommit": "fb8cc718776dc8f9e011cd5f23fe48cf7f65143e", "gitBranch": "PR-2058-fb8cc7187", "buildTime": "", "goVersion": "go1.26.4", "os": "linux", "arch": "amd64"} + create_namespace rs-shard-migration-24418 + local namespace=rs-shard-migration-24418 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + xargs kubectl delete ns + '[' -n '' ']' + desc 'cleaned up old namespaces rs-shard-migration-24418' + set +o xtrace ++ mktemp ----------------------------------------------------------------------------------- cleaned up old namespaces rs-shard-migration-24418 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace rs-shard-migration-24418 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.vLp5j3cse3 ++ mktemp + local LAST_OUT=/tmp/tmp.2Mobt2PhbZ ++ mktemp + local LAST_ERR=/tmp/tmp.u3QKirAcsB + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.MQDQ8kbTaB + 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 rs-shard-migration-24418 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vLp5j3cse3 + cat /tmp/tmp.u3QKirAcsB + rm /tmp/tmp.vLp5j3cse3 /tmp/tmp.u3QKirAcsB + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2Mobt2PhbZ + cat /tmp/tmp.MQDQ8kbTaB + rm /tmp/tmp.2Mobt2PhbZ /tmp/tmp.MQDQ8kbTaB + return 0 + kubectl_bin wait --for=delete namespace rs-shard-migration-24418 ++ mktemp + local LAST_OUT=/tmp/tmp.pIQl8WTlD7 ++ mktemp + local LAST_ERR=/tmp/tmp.jZCDFHkfZH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace rs-shard-migration-24418 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pIQl8WTlD7 + cat /tmp/tmp.jZCDFHkfZH + rm /tmp/tmp.pIQl8WTlD7 /tmp/tmp.jZCDFHkfZH + return 0 + desc 'create namespace rs-shard-migration-24418' + set +o xtrace ----------------------------------------------------------------------------------- create namespace rs-shard-migration-24418 ----------------------------------------------------------------------------------- + kubectl_bin create namespace rs-shard-migration-24418 ++ mktemp + local LAST_OUT=/tmp/tmp.B2QnhQg65o ++ mktemp + local LAST_ERR=/tmp/tmp.Qwv8qpCsUA + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace rs-shard-migration-24418 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.B2QnhQg65o namespace/rs-shard-migration-24418 created + cat /tmp/tmp.Qwv8qpCsUA + rm /tmp/tmp.B2QnhQg65o /tmp/tmp.Qwv8qpCsUA + return 0 + set_kube_ctx rs-shard-migration-24418 + local namespace=rs-shard-migration-24418 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.DxQK8gXhvV +++ mktemp ++ local LAST_ERR=/tmp/tmp.mCiqDBFOz5 ++ 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.DxQK8gXhvV ++ cat /tmp/tmp.mCiqDBFOz5 ++ rm /tmp/tmp.DxQK8gXhvV /tmp/tmp.mCiqDBFOz5 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster15 --namespace=rs-shard-migration-24418 ++ mktemp + local LAST_OUT=/tmp/tmp.v2ptcLYSQJ ++ mktemp + local LAST_ERR=/tmp/tmp.vlprMSBA0e + 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-2058-fb8cc7187-17-cluster15 --namespace=rs-shard-migration-24418 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.v2ptcLYSQJ Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster15" modified. + cat /tmp/tmp.vlprMSBA0e + rm /tmp/tmp.v2ptcLYSQJ /tmp/tmp.vlprMSBA0e + return 0 + desc 'create secrets and start client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and start client ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml ++ mktemp + local LAST_OUT=/tmp/tmp.6jz0RWljN9 ++ mktemp + local LAST_ERR=/tmp/tmp.0tpIyWLJa5 + 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-2058/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/client.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6jz0RWljN9 secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.0tpIyWLJa5 + rm /tmp/tmp.6jz0RWljN9 /tmp/tmp.0tpIyWLJa5 + return 0 + apply_s3_storage_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.EWYK7ewjPa ++ mktemp + local LAST_ERR=/tmp/tmp.r1onL8jsN5 + 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-2058/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.EWYK7ewjPa secret/minio-secret created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.r1onL8jsN5 + rm /tmp/tmp.EWYK7ewjPa /tmp/tmp.r1onL8jsN5 + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Tue Jun 9 10:23:15 2026 NAMESPACE: rs-shard-migration-24418 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.rs-shard-migration-24418.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace rs-shard-migration-24418 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace rs-shard-migration-24418 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace rs-shard-migration-24418 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace rs-shard-migration-24418 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BgayxHrhf1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.gmjADVQQff ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BgayxHrhf1 ++ cat /tmp/tmp.gmjADVQQff ++ rm /tmp/tmp.BgayxHrhf1 /tmp/tmp.gmjADVQQff ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-vwsqm + wait_pod minio-service-6d5f646cdc-vwsqm + local pod=minio-service-6d5f646cdc-vwsqm + set +o xtrace waiting for pod/minio-service-6d5f646cdc-vwsqm to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.rs-shard-migration-24418.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.xtIQbXs9wE ++ mktemp + local LAST_ERR=/tmp/tmp.N3oPC3cgVa + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xtIQbXs9wE make_bucket: operator-testing pod "aws-cli" deleted from rs-shard-migration-24418 namespace + cat /tmp/tmp.N3oPC3cgVa All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.xtIQbXs9wE /tmp/tmp.N3oPC3cgVa + return 0 + spinup_psmdb some-name-rs0 /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/some-name.yml + local cluster=some-name-rs0 + local config=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/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-2058/e2e-tests/rs-shard-migration/conf/some-name.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/some-name.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/some-name.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' ++ mktemp + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2058-fb8cc7187"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/rs-shard-migration-24418/g + local LAST_OUT=/tmp/tmp.91JQNHlkwX + yq eval '.spec.upgradeOptions.apply="Never"' ++ mktemp + local LAST_ERR=/tmp/tmp.7OZLw1zXGy + 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.91JQNHlkwX perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.7OZLw1zXGy + rm /tmp/tmp.91JQNHlkwX /tmp/tmp.7OZLw1zXGy + 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.ziez7Hm6NJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.kRC5MkzNWK ++ 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.ziez7Hm6NJ ++ cat /tmp/tmp.kRC5MkzNWK ++ rm /tmp/tmp.ziez7Hm6NJ /tmp/tmp.kRC5MkzNWK ++ 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.mjJVSC8cuq +++ mktemp ++ local LAST_ERR=/tmp/tmp.tL0IbZxvO0 ++ 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.mjJVSC8cuq ++ cat /tmp/tmp.tL0IbZxvO0 ++ rm /tmp/tmp.mjJVSC8cuq /tmp/tmp.tL0IbZxvO0 ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6EflU88dOs +++ mktemp ++ local LAST_ERR=/tmp/tmp.gwLI9PqfXK ++ 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.6EflU88dOs ++ cat /tmp/tmp.gwLI9PqfXK ++ rm /tmp/tmp.6EflU88dOs /tmp/tmp.gwLI9PqfXK ++ 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-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml + local new_result=/tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/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("rs-shard-migration-24418", "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.wsU7Jg9GVL ++ mktemp + local LAST_ERR=/tmp/tmp.cr4MNRNUdJ + 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.wsU7Jg9GVL + cat /tmp/tmp.cr4MNRNUdJ + rm /tmp/tmp.wsU7Jg9GVL /tmp/tmp.cr4MNRNUdJ + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + log 'compare_kubectl: statefulset/some-name-rs0 OK' + set +o xtrace [2026-06-09T10:26:23+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.rs-shard-migration-24418 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.rs-shard-migration-24418 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.rs-shard-migration-24418 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hL5BmgSStW +++ mktemp ++ local LAST_ERR=/tmp/tmp.OtvySEQG0g ++ 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.hL5BmgSStW ++ cat /tmp/tmp.OtvySEQG0g ++ rm /tmp/tmp.hL5BmgSStW /tmp/tmp.OtvySEQG0g ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.rypDuu8xUu ++ mktemp + local LAST_ERR=/tmp/tmp.UC4mBvaRtN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rypDuu8xUu Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("bceb2793-88a0-488b-8ef5-2e3d96e07939") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.UC4mBvaRtN + rm /tmp/tmp.rypDuu8xUu /tmp/tmp.UC4mBvaRtN + return 0 + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.rs-shard-migration-24418 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.rs-shard-migration-24418 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.rs-shard-migration-24418 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6MhzNO8vgs +++ mktemp ++ local LAST_ERR=/tmp/tmp.5q6Nntkp4P ++ 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.6MhzNO8vgs ++ cat /tmp/tmp.5q6Nntkp4P ++ rm /tmp/tmp.6MhzNO8vgs /tmp/tmp.5q6Nntkp4P ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.sdqg1pr1ph ++ mktemp + local LAST_ERR=/tmp/tmp.iZhmjY6l0t + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sdqg1pr1ph Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("a40d9711-f2b9-4299-9843-1495538d64d1") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.iZhmjY6l0t + rm /tmp/tmp.sdqg1pr1ph /tmp/tmp.iZhmjY6l0t + return 0 + desc 'check if statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if statefulset created with expected config ----------------------------------------------------------------------------------- + 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-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml + local new_result=/tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/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("rs-shard-migration-24418", "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.a52mZCleZ1 ++ mktemp + local LAST_ERR=/tmp/tmp.YBD7FJjFmH + 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.a52mZCleZ1 + cat /tmp/tmp.YBD7FJjFmH + rm /tmp/tmp.a52mZCleZ1 /tmp/tmp.YBD7FJjFmH + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/statefulset_some-name-rs0.yml /tmp/tmp.EPw2hAuDqd/statefulset_some-name-rs0.yml + log 'compare_kubectl: statefulset/some-name-rs0 OK' + set +o xtrace [2026-06-09T10:26:29+0000] compare_kubectl: statefulset/some-name-rs0 OK + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + simple_data_check some-name-rs0 3 + local cluster_name=some-name-rs0 + let last_pod=3-1 + local isSharded=0 + local cluster_pfx= + '[' 0 -eq 1 ']' ++ seq 0 2 + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:26:29+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VOgCxhxWf3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.C4hVnQvfhq ++ 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.VOgCxhxWf3 ++ cat /tmp/tmp.C4hVnQvfhq ++ rm /tmp/tmp.VOgCxhxWf3 /tmp/tmp.C4hVnQvfhq ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.mpW0DRATDD ++ mktemp + local LAST_ERR=/tmp/tmp.3vGKZgV0HJ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mpW0DRATDD + cat /tmp/tmp.3vGKZgV0HJ + rm /tmp/tmp.mpW0DRATDD /tmp/tmp.3vGKZgV0HJ + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:26:31+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qrvejhoFgP +++ mktemp ++ local LAST_ERR=/tmp/tmp.7ICfWJgZXu ++ 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.qrvejhoFgP ++ cat /tmp/tmp.7ICfWJgZXu ++ rm /tmp/tmp.qrvejhoFgP /tmp/tmp.7ICfWJgZXu ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.2YcQ3cpN3z ++ mktemp + local LAST_ERR=/tmp/tmp.IJXJWXBKwC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2YcQ3cpN3z + cat /tmp/tmp.IJXJWXBKwC + rm /tmp/tmp.2YcQ3cpN3z /tmp/tmp.IJXJWXBKwC + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:26:34+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QjhNvHZHj0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.7fjTLrsDVl ++ 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.QjhNvHZHj0 ++ cat /tmp/tmp.7fjTLrsDVl ++ rm /tmp/tmp.QjhNvHZHj0 /tmp/tmp.7fjTLrsDVl ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.bZ3DQsB3Ih ++ mktemp + local LAST_ERR=/tmp/tmp.1fywG9T8i4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bZ3DQsB3Ih + cat /tmp/tmp.1fywG9T8i4 + rm /tmp/tmp.bZ3DQsB3Ih /tmp/tmp.1fywG9T8i4 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find + run_backup minio backup-minio-1 + local storage=minio + local backup_name=backup-minio-1 + local type=logical + log 'running backup backup-minio-1' + set +o xtrace [2026-06-09T10:26:36+0000] running backup backup-minio-1 + yq eval $'.metadata.name = "backup-minio-1"\n\t\t\t| .spec.storageName = "minio"\n\t\t\t| .spec.type = "logical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.M6tjoKJx9U ++ mktemp + local LAST_ERR=/tmp/tmp.TZZwnNnFvf + 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.M6tjoKJx9U perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.TZZwnNnFvf + rm /tmp/tmp.M6tjoKJx9U /tmp/tmp.TZZwnNnFvf + return 0 + wait_backup backup-minio-1 + local backup_name=backup-minio-1 + local target_state=ready + set +o xtrace waiting for backup-minio-1 to reach ready state.......OK + desc 'initiate migration from replicaset to sharded cluster' + set +o xtrace ----------------------------------------------------------------------------------- initiate migration from replicaset to sharded cluster ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb/some-name --type json '-p=[{"op":"add","path":"/spec/sharding","value":{"configsvrReplSet":{"size":3,"volumeSpec":{"persistentVolumeClaim":{"resources":{"requests":{"storage":"3Gi"}}}}},"enabled":true,"mongos":{"size":1}}}]' ++ mktemp + local LAST_OUT=/tmp/tmp.F3kBPuLFV1 ++ mktemp + local LAST_ERR=/tmp/tmp.FhHjDd1o9E + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb/some-name --type json '-p=[{"op":"add","path":"/spec/sharding","value":{"configsvrReplSet":{"size":3,"volumeSpec":{"persistentVolumeClaim":{"resources":{"requests":{"storage":"3Gi"}}}}},"enabled":true,"mongos":{"size":1}}}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.F3kBPuLFV1 perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.FhHjDd1o9E + rm /tmp/tmp.F3kBPuLFV1 /tmp/tmp.FhHjDd1o9E + return 0 + sleep 10 + wait_for_running some-name-rs0 3 false + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=false + 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.nNlYDMGxgr +++ mktemp ++ local LAST_ERR=/tmp/tmp.QWUg3Toa0Y ++ 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.nNlYDMGxgr ++ cat /tmp/tmp.QWUg3Toa0Y ++ rm /tmp/tmp.nNlYDMGxgr /tmp/tmp.QWUg3Toa0Y ++ 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.o3WDDsURim +++ mktemp ++ local LAST_ERR=/tmp/tmp.ADOjy2jPpS ++ 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.o3WDDsURim ++ cat /tmp/tmp.ADOjy2jPpS ++ rm /tmp/tmp.o3WDDsURim /tmp/tmp.ADOjy2jPpS ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QUSYplCWjR +++ mktemp ++ local LAST_ERR=/tmp/tmp.Q74CEHuSwU ++ 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.QUSYplCWjR ++ cat /tmp/tmp.Q74CEHuSwU ++ rm /tmp/tmp.QUSYplCWjR /tmp/tmp.Q74CEHuSwU ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-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=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IZZIhRegkS +++ mktemp ++ local LAST_ERR=/tmp/tmp.2g9gQhye6K ++ 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=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.IZZIhRegkS ++ cat /tmp/tmp.2g9gQhye6K ++ rm /tmp/tmp.IZZIhRegkS /tmp/tmp.2g9gQhye6K ++ return 0 + [[ '' == true ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6fJCVWKPCo +++ mktemp ++ local LAST_ERR=/tmp/tmp.UNd2fWWgRD ++ 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=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6fJCVWKPCo ++ cat /tmp/tmp.UNd2fWWgRD ++ rm /tmp/tmp.6fJCVWKPCo /tmp/tmp.UNd2fWWgRD ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Oe0347UpqE +++ mktemp ++ local LAST_ERR=/tmp/tmp.psJerwoPoi ++ 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=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Oe0347UpqE ++ cat /tmp/tmp.psJerwoPoi ++ rm /tmp/tmp.Oe0347UpqE /tmp/tmp.psJerwoPoi ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rBBw9Ytaog +++ mktemp ++ local LAST_ERR=/tmp/tmp.fvXN5QxcdH ++ 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.rBBw9Ytaog ++ cat /tmp/tmp.fvXN5QxcdH ++ rm /tmp/tmp.rBBw9Ytaog /tmp/tmp.fvXN5QxcdH ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vOBZBU4BrI +++ mktemp ++ local LAST_ERR=/tmp/tmp.oykJ2FBSVj ++ 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.vOBZBU4BrI ++ cat /tmp/tmp.oykJ2FBSVj ++ rm /tmp/tmp.vOBZBU4BrI /tmp/tmp.oykJ2FBSVj ++ return 0 + [[ error == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9OnNECL3TC +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZKzib3GcLg ++ 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.9OnNECL3TC ++ cat /tmp/tmp.ZKzib3GcLg ++ rm /tmp/tmp.9OnNECL3TC /tmp/tmp.ZKzib3GcLg ++ return 0 + [[ stopping == ready ]] + let retry+=1 + '[' 3 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nWk1SOjpGR +++ mktemp ++ local LAST_ERR=/tmp/tmp.IvNskv6iBl ++ 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.nWk1SOjpGR ++ cat /tmp/tmp.IvNskv6iBl ++ rm /tmp/tmp.nWk1SOjpGR /tmp/tmp.IvNskv6iBl ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 4 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.eJbFu3QIzb +++ mktemp ++ local LAST_ERR=/tmp/tmp.hHBWdLu7YG ++ 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.eJbFu3QIzb ++ cat /tmp/tmp.hHBWdLu7YG ++ rm /tmp/tmp.eJbFu3QIzb /tmp/tmp.hHBWdLu7YG ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 5 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qC2WMj3XmM +++ mktemp ++ local LAST_ERR=/tmp/tmp.c62PwkOJk2 ++ 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.qC2WMj3XmM ++ cat /tmp/tmp.c62PwkOJk2 ++ rm /tmp/tmp.qC2WMj3XmM /tmp/tmp.c62PwkOJk2 ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 6 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WXL21Ojns8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.YzMT7yextR ++ 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.WXL21Ojns8 ++ cat /tmp/tmp.YzMT7yextR ++ rm /tmp/tmp.WXL21Ojns8 /tmp/tmp.YzMT7yextR ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 7 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5BvjYvoc2n +++ mktemp ++ local LAST_ERR=/tmp/tmp.14JUQcRdyg ++ 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.5BvjYvoc2n ++ cat /tmp/tmp.14JUQcRdyg ++ rm /tmp/tmp.5BvjYvoc2n /tmp/tmp.14JUQcRdyg ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 8 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cW5UJRvOvS +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZFWpJvQ3o2 ++ 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.cW5UJRvOvS ++ cat /tmp/tmp.ZFWpJvQ3o2 ++ rm /tmp/tmp.cW5UJRvOvS /tmp/tmp.ZFWpJvQ3o2 ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 9 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TZYpcdkn7l +++ mktemp ++ local LAST_ERR=/tmp/tmp.jT1Tpl6m4N ++ 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.TZYpcdkn7l ++ cat /tmp/tmp.jT1Tpl6m4N ++ rm /tmp/tmp.TZYpcdkn7l /tmp/tmp.jT1Tpl6m4N ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 10 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AFn0fi43C0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.RjrFQ6tZx5 ++ 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.AFn0fi43C0 ++ cat /tmp/tmp.RjrFQ6tZx5 ++ rm /tmp/tmp.AFn0fi43C0 /tmp/tmp.RjrFQ6tZx5 ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 11 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xkrvWNvg5f +++ mktemp ++ local LAST_ERR=/tmp/tmp.jsk6LrFMSw ++ 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.xkrvWNvg5f ++ cat /tmp/tmp.jsk6LrFMSw ++ rm /tmp/tmp.xkrvWNvg5f /tmp/tmp.jsk6LrFMSw ++ return 0 + [[ ready == ready ]] + echo .OK .OK ++ kubectl_bin get statefulset/some-name-mongos -o 'jsonpath={.status.readyReplicas}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.KCg4CDAIXH +++ mktemp ++ local LAST_ERR=/tmp/tmp.s0Oj4l1ib1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get statefulset/some-name-mongos -o 'jsonpath={.status.readyReplicas}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KCg4CDAIXH ++ cat /tmp/tmp.s0Oj4l1ib1 ++ rm /tmp/tmp.KCg4CDAIXH /tmp/tmp.s0Oj4l1ib1 ++ return 0 + [[ 1 -lt 1 ]] ++ kubectl_bin get sts/some-name-cfg -o 'jsonpath={.status.replicas}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SxNz4QBeLF +++ mktemp ++ local LAST_ERR=/tmp/tmp.yu7bQPrv4K ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sts/some-name-cfg -o 'jsonpath={.status.replicas}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.SxNz4QBeLF ++ cat /tmp/tmp.yu7bQPrv4K ++ rm /tmp/tmp.SxNz4QBeLF /tmp/tmp.yu7bQPrv4K ++ return 0 ++ kubectl_bin get sts/some-name-cfg -o 'jsonpath={.status.readyReplicas}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fc9M5EZROT +++ mktemp ++ local LAST_ERR=/tmp/tmp.yMbHo7BuQd ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get sts/some-name-cfg -o 'jsonpath={.status.readyReplicas}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fc9M5EZROT ++ cat /tmp/tmp.yMbHo7BuQd ++ rm /tmp/tmp.fc9M5EZROT /tmp/tmp.yMbHo7BuQd ++ return 0 + [[ 3 != 3 ]] + run_mongos 'db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' userAdmin:userAdmin123456@some-name-mongos.rs-shard-migration-24418 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LREMc40wKz +++ mktemp ++ local LAST_ERR=/tmp/tmp.dwosBrw2gF ++ 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.LREMc40wKz ++ cat /tmp/tmp.dwosBrw2gF ++ rm /tmp/tmp.LREMc40wKz /tmp/tmp.dwosBrw2gF ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.rs-shard-migration-24418.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.yAmJiqGYIf ++ mktemp + local LAST_ERR=/tmp/tmp.d7HGFC6EGo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.rs-shard-migration-24418.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yAmJiqGYIf Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.rs-shard-migration-24418.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("d9333b9e-8671-417a-93db-370017738a29") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.d7HGFC6EGo + rm /tmp/tmp.yAmJiqGYIf /tmp/tmp.d7HGFC6EGo + return 0 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + simple_data_check some-name 3 1 -mongos + local cluster_name=some-name + let last_pod=3-1 + local isSharded=1 + local cluster_pfx=-mongos + '[' 1 -eq 1 ']' + sleep 10 + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kv4OHZnoWZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.TndzY8I8xD ++ 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.kv4OHZnoWZ ++ cat /tmp/tmp.TndzY8I8xD ++ rm /tmp/tmp.kv4OHZnoWZ /tmp/tmp.TndzY8I8xD ++ return 0 + [[ ready == ready ]] + echo .OK .OK + compare_mongos_cmd find myApp:myPass@some-name-mongos.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-mongos.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-06-09T10:30:49+0000] running db.test.command() in myApp + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.rs-shard-migration-24418 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + local uri=myApp:myPass@some-name-mongos.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hNqJrfnbi4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.aN9v6zfKzh ++ 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.hNqJrfnbi4 ++ cat /tmp/tmp.aN9v6zfKzh ++ rm /tmp/tmp.hNqJrfnbi4 /tmp/tmp.aN9v6zfKzh ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.rs-shard-migration-24418.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.UG19kSAGsK ++ mktemp + local LAST_ERR=/tmp/tmp.0zqdLmwTgB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.rs-shard-migration-24418.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.UG19kSAGsK + cat /tmp/tmp.0zqdLmwTgB + rm /tmp/tmp.UG19kSAGsK /tmp/tmp.0zqdLmwTgB + return 0 + [[ 0 -eq 0 ]] + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find ++ get_shard_parameter some-name rs-shard-migration-24418 lastWrite.majorityOpTime.ts ++ local cluster_name=some-name ++ local namespace=rs-shard-migration-24418 ++ local parameter=lastWrite.majorityOpTime.ts ++ run_mongo 'db.hello().lastWrite.majorityOpTime.ts' clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 mongodb '' --quiet ++ local 'command=db.hello().lastWrite.majorityOpTime.ts' ++ local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 ++ local driver=mongodb ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local replica_set=rs0 ++ [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.mxebm1bhp7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EKD6r11q72 +++ 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.mxebm1bhp7 +++ cat /tmp/tmp.EKD6r11q72 +++ rm /tmp/tmp.mxebm1bhp7 /tmp/tmp.EKD6r11q72 +++ return 0 ++ local client_container=psmdb-client-bb8b97679-g4bl6 ++ kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.hello().lastWrite.majorityOpTime.ts\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yUJ6VOynO7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.dZK8Wo9WqK ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.hello().lastWrite.majorityOpTime.ts\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yUJ6VOynO7 ++ cat /tmp/tmp.dZK8Wo9WqK ++ rm /tmp/tmp.yUJ6VOynO7 /tmp/tmp.dZK8Wo9WqK ++ return 0 + [[ -z Timestamp(1781001052, 4) ]] + run_backup minio backup-minio-2 + local storage=minio + local backup_name=backup-minio-2 + local type=logical + log 'running backup backup-minio-2' + set +o xtrace [2026-06-09T10:30:54+0000] running backup backup-minio-2 + yq eval $'.metadata.name = "backup-minio-2"\n\t\t\t| .spec.storageName = "minio"\n\t\t\t| .spec.type = "logical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.iBE8erGxjf ++ mktemp + local LAST_ERR=/tmp/tmp.MLoemJbEZ7 + 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.iBE8erGxjf perconaservermongodbbackup.psmdb.percona.com/backup-minio-2 created + cat /tmp/tmp.MLoemJbEZ7 + rm /tmp/tmp.iBE8erGxjf /tmp/tmp.MLoemJbEZ7 + return 0 + wait_backup backup-minio-2 + local backup_name=backup-minio-2 + local target_state=ready + set +o xtrace waiting for backup-minio-2 to reach ready state..................OK + desc 'get back from sharded cluster to replicaset' + set +o xtrace ----------------------------------------------------------------------------------- get back from sharded cluster to replicaset ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb/some-name --type json '-p=[{"op":"remove","path":"/spec/sharding"}]' ++ mktemp + local LAST_OUT=/tmp/tmp.uOFbWt1jh8 ++ mktemp + local LAST_ERR=/tmp/tmp.xn2T6PbhKS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb/some-name --type json '-p=[{"op":"remove","path":"/spec/sharding"}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uOFbWt1jh8 perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.xn2T6PbhKS + rm /tmp/tmp.uOFbWt1jh8 /tmp/tmp.xn2T6PbhKS + return 0 + sleep 20 + wait_for_running some-name-rs0 3 true + 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.WPJrYqxxNN +++ mktemp ++ local LAST_ERR=/tmp/tmp.f4lcpQTXo0 ++ 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.WPJrYqxxNN ++ cat /tmp/tmp.f4lcpQTXo0 ++ rm /tmp/tmp.WPJrYqxxNN /tmp/tmp.f4lcpQTXo0 ++ 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.GMT7oGTlKr +++ mktemp ++ local LAST_ERR=/tmp/tmp.9rw1x1cIyR ++ 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.GMT7oGTlKr ++ cat /tmp/tmp.9rw1x1cIyR ++ rm /tmp/tmp.GMT7oGTlKr /tmp/tmp.9rw1x1cIyR ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1xAhmQHUX1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.ajeTcJD5xR ++ 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.1xAhmQHUX1 ++ cat /tmp/tmp.ajeTcJD5xR ++ rm /tmp/tmp.1xAhmQHUX1 /tmp/tmp.ajeTcJD5xR ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness.. + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.XZr2AozVdO +++ mktemp ++ local LAST_ERR=/tmp/tmp.0Q2CM3GIGn ++ 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.XZr2AozVdO ++ cat /tmp/tmp.0Q2CM3GIGn ++ rm /tmp/tmp.XZr2AozVdO /tmp/tmp.0Q2CM3GIGn ++ return 0 + [[ ready == ready ]] + echo .OK .OK + simple_data_check some-name-rs0 3 + local cluster_name=some-name-rs0 + let last_pod=3-1 + local isSharded=0 + local cluster_pfx= + '[' 0 -eq 1 ']' ++ seq 0 2 + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:34:49+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.E923t8E0QG +++ mktemp ++ local LAST_ERR=/tmp/tmp.lgCQj5sjUp ++ 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.E923t8E0QG ++ cat /tmp/tmp.lgCQj5sjUp ++ rm /tmp/tmp.E923t8E0QG /tmp/tmp.lgCQj5sjUp ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.uNKjXxlOyY ++ mktemp + local LAST_ERR=/tmp/tmp.xFcdLo2adK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uNKjXxlOyY + cat /tmp/tmp.xFcdLo2adK + rm /tmp/tmp.uNKjXxlOyY /tmp/tmp.xFcdLo2adK + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:34:52+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JG9GGeS3UP +++ mktemp ++ local LAST_ERR=/tmp/tmp.WdlYuXMT11 ++ 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.JG9GGeS3UP ++ cat /tmp/tmp.WdlYuXMT11 ++ rm /tmp/tmp.JG9GGeS3UP /tmp/tmp.WdlYuXMT11 ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.mFuyKiyj5x ++ mktemp + local LAST_ERR=/tmp/tmp.G1uqhpJTWi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mFuyKiyj5x + cat /tmp/tmp.G1uqhpJTWi + rm /tmp/tmp.mFuyKiyj5x /tmp/tmp.G1uqhpJTWi + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find + for i in $(seq 0 $last_pod) + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-06-09T10:34:54+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xRPPqSZ5GK +++ mktemp ++ local LAST_ERR=/tmp/tmp.JuDj9pn1Fl ++ 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.xRPPqSZ5GK ++ cat /tmp/tmp.JuDj9pn1Fl ++ rm /tmp/tmp.xRPPqSZ5GK /tmp/tmp.JuDj9pn1Fl ++ return 0 + local client_container=psmdb-client-bb8b97679-g4bl6 + kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.DvUfNZPT8x ++ mktemp + local LAST_ERR=/tmp/tmp.3R2WSqKFwm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DvUfNZPT8x + cat /tmp/tmp.3R2WSqKFwm + rm /tmp/tmp.DvUfNZPT8x /tmp/tmp.3R2WSqKFwm + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/compare/find.json /tmp/tmp.EPw2hAuDqd/find ++ get_shard_parameter some-name rs-shard-migration-24418 lastCommitedOpTime ++ local cluster_name=some-name ++ local namespace=rs-shard-migration-24418 ++ local parameter=lastCommitedOpTime ++ run_mongo 'db.hello().lastCommitedOpTime' clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 mongodb '' --quiet ++ local 'command=db.hello().lastCommitedOpTime' ++ local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local replica_set=rs0 ++ [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418 == *cfg* ]] +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.yj02lNDpcz ++++ mktemp +++ local LAST_ERR=/tmp/tmp.wgXTgwZya4 +++ 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.yj02lNDpcz +++ cat /tmp/tmp.wgXTgwZya4 +++ rm /tmp/tmp.yj02lNDpcz /tmp/tmp.wgXTgwZya4 +++ return 0 ++ local client_container=psmdb-client-bb8b97679-g4bl6 ++ kubectl_bin exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.hello().lastCommitedOpTime\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kIREwhPBFN +++ mktemp ++ local LAST_ERR=/tmp/tmp.jI3PSiFkjW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-bb8b97679-g4bl6 -- bash -c 'printf '\''db.hello().lastCommitedOpTime\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.some-name-rs0.rs-shard-migration-24418.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kIREwhPBFN ++ cat /tmp/tmp.jI3PSiFkjW ++ rm /tmp/tmp.kIREwhPBFN /tmp/tmp.jI3PSiFkjW ++ return 0 + [[ -n '' ]] ++ kubectl_bin get statefulset -o 'jsonpath={.items[?(@.metadata.name == "some-name-mongos")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.J9v9Qu78A1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.AkrNh6ylza ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get statefulset -o 'jsonpath={.items[?(@.metadata.name == "some-name-mongos")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.J9v9Qu78A1 ++ cat /tmp/tmp.AkrNh6ylza ++ rm /tmp/tmp.J9v9Qu78A1 /tmp/tmp.AkrNh6ylza ++ return 0 + [[ -n '' ]] ++ kubectl_bin get service -o 'jsonpath={.items[?(@.metadata.name == "some-name-mongos")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CwZr6Riuat +++ mktemp ++ local LAST_ERR=/tmp/tmp.burdvKhZu7 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service -o 'jsonpath={.items[?(@.metadata.name == "some-name-mongos")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CwZr6Riuat ++ cat /tmp/tmp.burdvKhZu7 ++ rm /tmp/tmp.CwZr6Riuat /tmp/tmp.burdvKhZu7 ++ return 0 + [[ -n '' ]] ++ kubectl_bin get service -o 'jsonpath={.items[?(@.metadata.name == "some-name-cfg")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rl6kWhfBtM +++ mktemp ++ local LAST_ERR=/tmp/tmp.si5XL1unoK ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get service -o 'jsonpath={.items[?(@.metadata.name == "some-name-cfg")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rl6kWhfBtM ++ cat /tmp/tmp.si5XL1unoK ++ rm /tmp/tmp.rl6kWhfBtM /tmp/tmp.si5XL1unoK ++ return 0 + [[ -n '' ]] ++ kubectl_bin get statefulset -o 'jsonpath={.items[?(@.metadata.name == "some-name-cfg")].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6MY9L9nejm +++ mktemp ++ local LAST_ERR=/tmp/tmp.L2C4LjndyS ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get statefulset -o 'jsonpath={.items[?(@.metadata.name == "some-name-cfg")].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6MY9L9nejm ++ cat /tmp/tmp.L2C4LjndyS ++ rm /tmp/tmp.6MY9L9nejm /tmp/tmp.L2C4LjndyS ++ return 0 + [[ -n '' ]] + run_backup minio backup-minio-3 + local storage=minio + local backup_name=backup-minio-3 + local type=logical + log 'running backup backup-minio-3' + set +o xtrace [2026-06-09T10:35:03+0000] running backup backup-minio-3 + yq eval $'.metadata.name = "backup-minio-3"\n\t\t\t| .spec.storageName = "minio"\n\t\t\t| .spec.type = "logical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/rs-shard-migration/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.9BbVA8PVyY ++ mktemp + local LAST_ERR=/tmp/tmp.w5Eksg5yL3 + 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.9BbVA8PVyY perconaservermongodbbackup.psmdb.percona.com/backup-minio-3 created + cat /tmp/tmp.w5Eksg5yL3 + rm /tmp/tmp.9BbVA8PVyY /tmp/tmp.w5Eksg5yL3 + return 0 + wait_backup backup-minio-3 + local backup_name=backup-minio-3 + local target_state=ready + set +o xtrace waiting for backup-minio-3 to reach ready state.......OK + desc 'cleanup CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- cleanup CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.AsC0ZK1yCX ++ mktemp + local LAST_ERR=/tmp/tmp.FeuWsXtk3Q + 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-2058/deploy/crd.yaml