Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/logs/storage.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 + '[' -n '' ']' + main + create_infra storage-30885 + local ns=storage-30885 + echo storage-30885 + [[ 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 ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + xargs kubectl delete ns ++ mktemp + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' ++ mktemp + local LAST_OUT=/tmp/tmp.Y2z0YFw4eT + local LAST_OUT=/tmp/tmp.zQxGHdldLL ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.MVgj2TaLgl + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.qWCOptqutw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + for i in $(seq 0 2) + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Y2z0YFw4eT + cat /tmp/tmp.MVgj2TaLgl + rm /tmp/tmp.Y2z0YFw4eT /tmp/tmp.MVgj2TaLgl + return 0 namespace "scheduled-backup-15300" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zQxGHdldLL namespace "psmdb-operator" deleted + cat /tmp/tmp.qWCOptqutw + rm /tmp/tmp.zQxGHdldLL /tmp/tmp.qWCOptqutw + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.bkGMDC70zH ++ mktemp + local LAST_ERR=/tmp/tmp.zcMNO67Lrh + 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.bkGMDC70zH + cat /tmp/tmp.zcMNO67Lrh + rm /tmp/tmp.bkGMDC70zH /tmp/tmp.zcMNO67Lrh + 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.9rx6bgfMUp ++ mktemp + local LAST_ERR=/tmp/tmp.s6t6AzXB0s + 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.9rx6bgfMUp namespace/psmdb-operator created + cat /tmp/tmp.s6t6AzXB0s + rm /tmp/tmp.9rx6bgfMUp /tmp/tmp.s6t6AzXB0s + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.UWFzoWiXeC +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZnGFd8m4qp ++ 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.UWFzoWiXeC ++ cat /tmp/tmp.ZnGFd8m4qp ++ rm /tmp/tmp.UWFzoWiXeC /tmp/tmp.ZnGFd8m4qp ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.8qyMrgvd8E ++ mktemp + local LAST_ERR=/tmp/tmp.EU4XEaywW0 + 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-cluster4 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8qyMrgvd8E Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4" modified. + cat /tmp/tmp.EU4XEaywW0 + rm /tmp/tmp.8qyMrgvd8E /tmp/tmp.EU4XEaywW0 + 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/storage/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.oPniPwx23I ++ mktemp + local LAST_ERR=/tmp/tmp.GcHaYgzBOT + 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.oPniPwx23I 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.GcHaYgzBOT + rm /tmp/tmp.oPniPwx23I /tmp/tmp.GcHaYgzBOT + 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.Q65WWmKi2b ++ mktemp + local LAST_ERR=/tmp/tmp.RPBf7M59Zd + 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.Q65WWmKi2b 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.RPBf7M59Zd + rm /tmp/tmp.Q65WWmKi2b /tmp/tmp.RPBf7M59Zd + 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.vGp8KTyrLT ++ mktemp + local LAST_ERR=/tmp/tmp.aufB65KXps + 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.vGp8KTyrLT deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.aufB65KXps + rm /tmp/tmp.vGp8KTyrLT /tmp/tmp.aufB65KXps + 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.x3tVi95p5O +++ mktemp ++ local LAST_ERR=/tmp/tmp.QfX4fTTV9r ++ 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.x3tVi95p5O ++ cat /tmp/tmp.QfX4fTTV9r ++ rm /tmp/tmp.x3tVi95p5O /tmp/tmp.QfX4fTTV9r ++ return 0 + wait_operator_pod percona-server-mongodb-operator-859f4bc6d7-zjbd7 + local pod=percona-server-mongodb-operator-859f4bc6d7-zjbd7 + set +o xtrace waiting for pod/percona-server-mongodb-operator-859f4bc6d7-zjbd7 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.y0bg6kSzHl +++ mktemp ++ local LAST_ERR=/tmp/tmp.dfVquoUoax ++ 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.y0bg6kSzHl ++ cat /tmp/tmp.dfVquoUoax ++ rm /tmp/tmp.y0bg6kSzHl /tmp/tmp.dfVquoUoax ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-859f4bc6d7-zjbd7 ++ mktemp + local LAST_OUT=/tmp/tmp.vdWaeM8PI8 ++ mktemp + local LAST_ERR=/tmp/tmp.hVyt2tsm43 + 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-zjbd7 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vdWaeM8PI8 + cat /tmp/tmp.hVyt2tsm43 + rm /tmp/tmp.vdWaeM8PI8 /tmp/tmp.hVyt2tsm43 + return 0 2026-06-09T10:44:42.490Z INFO setup Manager starting up {"gitCommit": "fb8cc718776dc8f9e011cd5f23fe48cf7f65143e", "gitBranch": "PR-2058-fb8cc7187", "buildTime": "", "goVersion": "go1.26.4", "os": "linux", "arch": "amd64"} + create_namespace storage-30885 + local namespace=storage-30885 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + 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 ++ awk '{print $1}' ++ grep chaos-mesh + 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 ++ awk '{print $1}' ++ grep chaos-mesh.org + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ kubectl get clusterrolebinding ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces storage-30885' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces storage-30885 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace storage-30885 --ignore-not-found + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + local LAST_OUT=/tmp/tmp.GKvIbxthce + awk '{print$1}' ++ mktemp + xargs kubectl delete ns ++ mktemp + local LAST_OUT=/tmp/tmp.Az8fEJXz73 + local LAST_ERR=/tmp/tmp.X8QIiUPG03 + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.MrcLIQF4zd + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace storage-30885 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GKvIbxthce + cat /tmp/tmp.X8QIiUPG03 + rm /tmp/tmp.GKvIbxthce /tmp/tmp.X8QIiUPG03 + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Az8fEJXz73 + cat /tmp/tmp.MrcLIQF4zd + rm /tmp/tmp.Az8fEJXz73 /tmp/tmp.MrcLIQF4zd + return 0 + kubectl_bin wait --for=delete namespace storage-30885 ++ mktemp + local LAST_OUT=/tmp/tmp.xuCtglJaW3 ++ mktemp + local LAST_ERR=/tmp/tmp.TBuXdlcHLk + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace storage-30885 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xuCtglJaW3 + cat /tmp/tmp.TBuXdlcHLk + rm /tmp/tmp.xuCtglJaW3 /tmp/tmp.TBuXdlcHLk + return 0 + desc 'create namespace storage-30885' + set +o xtrace ----------------------------------------------------------------------------------- create namespace storage-30885 ----------------------------------------------------------------------------------- + kubectl_bin create namespace storage-30885 ++ mktemp + local LAST_OUT=/tmp/tmp.NxHp90xvaf ++ mktemp + local LAST_ERR=/tmp/tmp.UasnqJxwmD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace storage-30885 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NxHp90xvaf namespace/storage-30885 created + cat /tmp/tmp.UasnqJxwmD + rm /tmp/tmp.NxHp90xvaf /tmp/tmp.UasnqJxwmD + return 0 + set_kube_ctx storage-30885 + local namespace=storage-30885 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.7fD5NKL5O0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WdbBmGCd3B ++ 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.7fD5NKL5O0 ++ cat /tmp/tmp.WdbBmGCd3B ++ rm /tmp/tmp.7fD5NKL5O0 /tmp/tmp.WdbBmGCd3B ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4 --namespace=storage-30885 ++ mktemp + local LAST_OUT=/tmp/tmp.5fPd9XFKq4 ++ mktemp + local LAST_ERR=/tmp/tmp.sDAtVbRMZq + 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-cluster4 --namespace=storage-30885 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5fPd9XFKq4 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster4" modified. + cat /tmp/tmp.sDAtVbRMZq + rm /tmp/tmp.5fPd9XFKq4 /tmp/tmp.sDAtVbRMZq + return 0 + deploy_cert_manager + desc 'deploy cert manager' + set +o xtrace ----------------------------------------------------------------------------------- deploy cert manager ----------------------------------------------------------------------------------- + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.S6dV0KPA0T ++ mktemp + local LAST_ERR=/tmp/tmp.gbHS84yF5E + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace cert-manager + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.S6dV0KPA0T namespace/cert-manager created + cat /tmp/tmp.gbHS84yF5E + rm /tmp/tmp.S6dV0KPA0T /tmp/tmp.gbHS84yF5E + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.1Kpxxmi9HL ++ mktemp + local LAST_ERR=/tmp/tmp.YCXwiglSAc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1Kpxxmi9HL namespace/cert-manager labeled + cat /tmp/tmp.YCXwiglSAc + rm /tmp/tmp.1Kpxxmi9HL /tmp/tmp.YCXwiglSAc + return 0 + kubectl_bin apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false ++ mktemp + local LAST_OUT=/tmp/tmp.1f36ksuIKa ++ mktemp + local LAST_ERR=/tmp/tmp.Yuii7Sorii + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/cert-manager.yaml --validate=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1f36ksuIKa namespace/cert-manager configured customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created serviceaccount/cert-manager-cainjector created serviceaccount/cert-manager created serviceaccount/cert-manager-webhook created clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view created clusterrole.rbac.authorization.k8s.io/cert-manager-view created clusterrole.rbac.authorization.k8s.io/cert-manager-edit created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created role.rbac.authorization.k8s.io/cert-manager:leaderelection created role.rbac.authorization.k8s.io/cert-manager-tokenrequest created role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection created rolebinding.rbac.authorization.k8s.io/cert-manager-tokenrequest created rolebinding.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created service/cert-manager-cainjector created service/cert-manager created service/cert-manager-webhook created deployment.apps/cert-manager-cainjector created deployment.apps/cert-manager created deployment.apps/cert-manager-webhook created mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created + cat /tmp/tmp.Yuii7Sorii Warning: resource namespaces/cert-manager is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. + rm /tmp/tmp.1f36ksuIKa /tmp/tmp.Yuii7Sorii + return 0 + kubectl_bin -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready ++ mktemp + local LAST_OUT=/tmp/tmp.OLMiGJXG6a ++ mktemp + local LAST_ERR=/tmp/tmp.4GSkPH9u2x + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OLMiGJXG6a pod/cert-manager-559d798845-swv6r condition met pod/cert-manager-cainjector-64958d9c7c-n6q6k condition met pod/cert-manager-webhook-7fb6f99b56-zqv6j condition met + cat /tmp/tmp.4GSkPH9u2x E0609 10:45:43.445411 1158282 reflector.go:227] "Failed to watch" err="Get \"https://35.253.218.221/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-cainjector-64958d9c7c-n6q6k&resourceVersion=1781001943054335010&timeoutSeconds=536&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.OLMiGJXG6a /tmp/tmp.4GSkPH9u2x + return 0 + sleep 120 + 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/client.yml -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/storage/conf/hostpath-helper.yml ++ mktemp + local LAST_OUT=/tmp/tmp.q5GDdXkiAv ++ mktemp + local LAST_ERR=/tmp/tmp.qCS8ckqntI + 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/client.yml -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/storage/conf/hostpath-helper.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.q5GDdXkiAv deployment.apps/psmdb-client created secret/some-users created daemonset.apps/hostpath-helper created + cat /tmp/tmp.qCS8ckqntI + rm /tmp/tmp.q5GDdXkiAv /tmp/tmp.qCS8ckqntI + return 0 + desc 'check emptydir' + set +o xtrace ----------------------------------------------------------------------------------- check emptydir ----------------------------------------------------------------------------------- + check_cr_config emptydir-rs0 + local cluster=emptydir-rs0 + desc 'create first PSMDB cluster emptydir-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster emptydir-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/emptydir-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/emptydir-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/emptydir-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("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"' + local LAST_OUT=/tmp/tmp.6z8oucovwS + /usr/sbin/sed -e s/NAME_SPACE/storage-30885/g ++ mktemp + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_ERR=/tmp/tmp.9CnTUJx28O + 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.6z8oucovwS perconaservermongodb.psmdb.percona.com/emptydir created + cat /tmp/tmp.9CnTUJx28O + rm /tmp/tmp.6z8oucovwS /tmp/tmp.9CnTUJx28O + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running emptydir-rs0 3 + local name=emptydir-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=emptydir ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod emptydir-rs0-0 + local pod=emptydir-rs0-0 + set +o xtrace waiting for pod/emptydir-rs0-0 to be ready...........OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod emptydir-rs0-1 + local pod=emptydir-rs0-1 + set +o xtrace waiting for pod/emptydir-rs0-1 to be ready.............OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hlyqowfzP0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.hqoqLnliIx ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hlyqowfzP0 ++ cat /tmp/tmp.hqoqLnliIx ++ rm /tmp/tmp.hlyqowfzP0 /tmp/tmp.hqoqLnliIx ++ return 0 + [[ '' == true ]] + wait_pod emptydir-rs0-2 + local pod=emptydir-rs0-2 + set +o xtrace waiting for pod/emptydir-rs0-2 to be ready............OK ++ kubectl_bin get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.f8a2ZiXgkB +++ mktemp ++ local LAST_ERR=/tmp/tmp.hFxamctvLG ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.f8a2ZiXgkB ++ cat /tmp/tmp.hFxamctvLG ++ rm /tmp/tmp.f8a2ZiXgkB /tmp/tmp.hFxamctvLG ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aIg2jgYHci +++ mktemp ++ local LAST_ERR=/tmp/tmp.oY2lCMqapk ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb emptydir -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aIg2jgYHci ++ cat /tmp/tmp.oY2lCMqapk ++ rm /tmp/tmp.aIg2jgYHci /tmp/tmp.oY2lCMqapk ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + desc 'check if statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/emptydir-rs0 + local resource=statefulset/emptydir-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_emptydir-rs0.yml + local new_result=/tmp/tmp.5F7U5pQSM6/statefulset_emptydir-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_emptydir-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/emptydir-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("storage-30885", "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.bnG3JV1krg ++ mktemp + local LAST_ERR=/tmp/tmp.xm44rO6RfD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/emptydir-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bnG3JV1krg + cat /tmp/tmp.xm44rO6RfD + rm /tmp/tmp.bnG3JV1krg /tmp/tmp.xm44rO6RfD + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.5F7U5pQSM6/statefulset_emptydir-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.5F7U5pQSM6/statefulset_emptydir-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.5F7U5pQSM6/statefulset_emptydir-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_emptydir-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_emptydir-rs0.yml /tmp/tmp.5F7U5pQSM6/statefulset_emptydir-rs0.yml + log 'compare_kubectl: statefulset/emptydir-rs0 OK' + set +o xtrace [2026-06-09T10:49:31+0000] compare_kubectl: statefulset/emptydir-rs0 OK + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@emptydir-rs0.storage-30885 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@emptydir-rs0.storage-30885 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@emptydir-rs0.storage-30885 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5lIclAFvxR +++ mktemp ++ local LAST_ERR=/tmp/tmp.7I6y9zp7TB ++ 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.5lIclAFvxR ++ cat /tmp/tmp.7I6y9zp7TB ++ rm /tmp/tmp.5lIclAFvxR /tmp/tmp.7I6y9zp7TB ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.ySuqDRVHOe ++ mktemp + local LAST_ERR=/tmp/tmp.bgq7b7areQ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ySuqDRVHOe Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://emptydir-rs0-1.emptydir-rs0.storage-30885.svc.cluster.local:27017,emptydir-rs0-2.emptydir-rs0.storage-30885.svc.cluster.local:27017,emptydir-rs0-0.emptydir-rs0.storage-30885.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("013f4fa4-0e3c-4cd9-95a6-4135846d479b") } 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.bgq7b7areQ + rm /tmp/tmp.ySuqDRVHOe /tmp/tmp.bgq7b7areQ + return 0 + sleep 2 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@emptydir-rs0.storage-30885 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@emptydir-rs0.storage-30885 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@emptydir-rs0.storage-30885 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.NOKQMdD8LN +++ mktemp ++ local LAST_ERR=/tmp/tmp.txQpMHjfgf ++ 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.NOKQMdD8LN ++ cat /tmp/tmp.txQpMHjfgf ++ rm /tmp/tmp.NOKQMdD8LN /tmp/tmp.txQpMHjfgf ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.un3UkJkM2p ++ mktemp + local LAST_ERR=/tmp/tmp.JYOUDEcjFP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.un3UkJkM2p Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://emptydir-rs0-1.emptydir-rs0.storage-30885.svc.cluster.local:27017,emptydir-rs0-2.emptydir-rs0.storage-30885.svc.cluster.local:27017,emptydir-rs0-0.emptydir-rs0.storage-30885.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("a51fbda2-40d6-4d44-ac87-880e9a1b8e88") } 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.JYOUDEcjFP + rm /tmp/tmp.un3UkJkM2p /tmp/tmp.JYOUDEcjFP + return 0 + compare_mongo_cmd find myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885 + local command=find + local uri=myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885 + 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:49:38+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + grep -E -v 'I NETWORK|W NETWORK|F NETWORK|"c":"NETWORK"|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|Started a new thread for the timer service' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Ni8sNwBkWZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.dUYTyeju4E ++ 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.Ni8sNwBkWZ ++ cat /tmp/tmp.dUYTyeju4E ++ rm /tmp/tmp.Ni8sNwBkWZ /tmp/tmp.dUYTyeju4E ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.i1nYSUUjPF ++ mktemp + local LAST_ERR=/tmp/tmp.PLTdxyTpi2 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-0.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.i1nYSUUjPF + cat /tmp/tmp.PLTdxyTpi2 + rm /tmp/tmp.i1nYSUUjPF /tmp/tmp.PLTdxyTpi2 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + compare_mongo_cmd find myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885 + local command=find + local uri=myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885 + 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:49:40+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885 == *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.K1dqN8Vf5B +++ mktemp ++ local LAST_ERR=/tmp/tmp.J9w0NLdFsg ++ 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.K1dqN8Vf5B ++ cat /tmp/tmp.J9w0NLdFsg ++ rm /tmp/tmp.K1dqN8Vf5B /tmp/tmp.J9w0NLdFsg ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.MJRorDeikl ++ mktemp + local LAST_ERR=/tmp/tmp.SlmZfC1pQX + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-1.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MJRorDeikl + cat /tmp/tmp.SlmZfC1pQX + rm /tmp/tmp.MJRorDeikl /tmp/tmp.SlmZfC1pQX + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + compare_mongo_cmd find myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885 + local command=find + local uri=myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885 + 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:49:43+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885 == *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.OkxckmYoqD +++ mktemp ++ local LAST_ERR=/tmp/tmp.BdJTbRDpmt ++ 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.OkxckmYoqD ++ cat /tmp/tmp.BdJTbRDpmt ++ rm /tmp/tmp.OkxckmYoqD /tmp/tmp.BdJTbRDpmt ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.mFYb4mSIMh ++ mktemp + local LAST_ERR=/tmp/tmp.QPbw8rAFTY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@emptydir-rs0-2.emptydir-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mFYb4mSIMh + cat /tmp/tmp.QPbw8rAFTY + rm /tmp/tmp.mFYb4mSIMh /tmp/tmp.QPbw8rAFTY + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + desc 'delete PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/emptydir-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.xSxB703LhD ++ mktemp + local LAST_ERR=/tmp/tmp.0OiTHP0KEd + 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/e2e-tests/storage/conf/emptydir-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xSxB703LhD perconaservermongodb.psmdb.percona.com "emptydir" deleted from storage-30885 namespace + cat /tmp/tmp.0OiTHP0KEd + rm /tmp/tmp.xSxB703LhD /tmp/tmp.0OiTHP0KEd + return 0 + desc 'check hostpath' + set +o xtrace ----------------------------------------------------------------------------------- check hostpath ----------------------------------------------------------------------------------- + check_cr_config hostpath-rs0 + local cluster=hostpath-rs0 + desc 'create first PSMDB cluster hostpath-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster hostpath-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/hostpath-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/hostpath-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/hostpath-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("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"' + local LAST_OUT=/tmp/tmp.z1Ww0NMPXz ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/storage-30885/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_ERR=/tmp/tmp.w7h5zRKLiw + 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.z1Ww0NMPXz perconaservermongodb.psmdb.percona.com/hostpath created + cat /tmp/tmp.w7h5zRKLiw + rm /tmp/tmp.z1Ww0NMPXz /tmp/tmp.w7h5zRKLiw + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running hostpath-rs0 3 + local name=hostpath-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=hostpath ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod hostpath-rs0-0 + local pod=hostpath-rs0-0 + set +o xtrace waiting for pod/hostpath-rs0-0 to be ready......OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod hostpath-rs0-1 + local pod=hostpath-rs0-1 + set +o xtrace waiting for pod/hostpath-rs0-1 to be ready.......OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fdWl7B05cC +++ mktemp ++ local LAST_ERR=/tmp/tmp.3gfbZvdE9Q ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fdWl7B05cC ++ cat /tmp/tmp.3gfbZvdE9Q ++ rm /tmp/tmp.fdWl7B05cC /tmp/tmp.3gfbZvdE9Q ++ return 0 + [[ '' == true ]] + wait_pod hostpath-rs0-2 + local pod=hostpath-rs0-2 + set +o xtrace waiting for pod/hostpath-rs0-2 to be ready.......OK ++ kubectl_bin get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.J7vQ9u6Yqz +++ mktemp ++ local LAST_ERR=/tmp/tmp.u8hYl0ptSF ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.J7vQ9u6Yqz ++ cat /tmp/tmp.u8hYl0ptSF ++ rm /tmp/tmp.J7vQ9u6Yqz /tmp/tmp.u8hYl0ptSF ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.V7b1MSpPgH +++ mktemp ++ local LAST_ERR=/tmp/tmp.IEpn1eNhiw ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb hostpath -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.V7b1MSpPgH ++ cat /tmp/tmp.IEpn1eNhiw ++ rm /tmp/tmp.V7b1MSpPgH /tmp/tmp.IEpn1eNhiw ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + desc 'check if statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/hostpath-rs0 + local resource=statefulset/hostpath-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_hostpath-rs0.yml + local new_result=/tmp/tmp.5F7U5pQSM6/statefulset_hostpath-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_hostpath-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/hostpath-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("storage-30885", "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.zNKNafpOxg ++ mktemp + local LAST_ERR=/tmp/tmp.mVxFoVgzZp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/hostpath-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zNKNafpOxg + cat /tmp/tmp.mVxFoVgzZp + rm /tmp/tmp.zNKNafpOxg /tmp/tmp.mVxFoVgzZp + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.5F7U5pQSM6/statefulset_hostpath-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.5F7U5pQSM6/statefulset_hostpath-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.5F7U5pQSM6/statefulset_hostpath-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_hostpath-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/statefulset_hostpath-rs0.yml /tmp/tmp.5F7U5pQSM6/statefulset_hostpath-rs0.yml + log 'compare_kubectl: statefulset/hostpath-rs0 OK' + set +o xtrace [2026-06-09T10:50:50+0000] compare_kubectl: statefulset/hostpath-rs0 OK + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@hostpath-rs0.storage-30885 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@hostpath-rs0.storage-30885 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@hostpath-rs0.storage-30885 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.iObTv7EKTN +++ mktemp ++ local LAST_ERR=/tmp/tmp.aFKX9vn4Xy ++ 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.iObTv7EKTN ++ cat /tmp/tmp.aFKX9vn4Xy ++ rm /tmp/tmp.iObTv7EKTN /tmp/tmp.aFKX9vn4Xy ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.vviAezk9P9 ++ mktemp + local LAST_ERR=/tmp/tmp.ocDQ22nFX5 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vviAezk9P9 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://hostpath-rs0-2.hostpath-rs0.storage-30885.svc.cluster.local:27017,hostpath-rs0-1.hostpath-rs0.storage-30885.svc.cluster.local:27017,hostpath-rs0-0.hostpath-rs0.storage-30885.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("d1f36dd9-4dd6-49bf-bcc5-49729680a052") } 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.ocDQ22nFX5 + rm /tmp/tmp.vviAezk9P9 /tmp/tmp.ocDQ22nFX5 + return 0 + sleep 2 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@hostpath-rs0.storage-30885 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@hostpath-rs0.storage-30885 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@hostpath-rs0.storage-30885 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jsq4cSOvT1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.guvSTpwLP3 ++ 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.jsq4cSOvT1 ++ cat /tmp/tmp.guvSTpwLP3 ++ rm /tmp/tmp.jsq4cSOvT1 /tmp/tmp.guvSTpwLP3 ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.MJZdwbPcYV ++ mktemp + local LAST_ERR=/tmp/tmp.4Vc0mZQMkO + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MJZdwbPcYV Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://hostpath-rs0-2.hostpath-rs0.storage-30885.svc.cluster.local:27017,hostpath-rs0-1.hostpath-rs0.storage-30885.svc.cluster.local:27017,hostpath-rs0-0.hostpath-rs0.storage-30885.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("ad6fba8b-1221-4272-baca-24ac488cc9a2") } 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.4Vc0mZQMkO + rm /tmp/tmp.MJZdwbPcYV /tmp/tmp.4Vc0mZQMkO + return 0 + compare_mongo_cmd find myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885 + local command=find + local uri=myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885 + 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:50:57+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885 + local driver=mongodb + 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 suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885 == *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.7wDqpVqDnD +++ mktemp ++ local LAST_ERR=/tmp/tmp.qjZJIyzIeT ++ 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.7wDqpVqDnD ++ cat /tmp/tmp.qjZJIyzIeT ++ rm /tmp/tmp.7wDqpVqDnD /tmp/tmp.qjZJIyzIeT ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.H5xoNUtc32 ++ mktemp + local LAST_ERR=/tmp/tmp.nHjaAgnMcU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-0.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.H5xoNUtc32 + cat /tmp/tmp.nHjaAgnMcU + rm /tmp/tmp.H5xoNUtc32 /tmp/tmp.nHjaAgnMcU + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + compare_mongo_cmd find myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885 + local command=find + local uri=myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885 + 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:50:59+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885 == *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.PofC1jycBb +++ mktemp ++ local LAST_ERR=/tmp/tmp.uTT3afiMGu ++ 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.PofC1jycBb ++ cat /tmp/tmp.uTT3afiMGu ++ rm /tmp/tmp.PofC1jycBb /tmp/tmp.uTT3afiMGu ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.url3g750Jb ++ mktemp + local LAST_ERR=/tmp/tmp.xdIMtiiKBR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-1.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.url3g750Jb + cat /tmp/tmp.xdIMtiiKBR + rm /tmp/tmp.url3g750Jb /tmp/tmp.xdIMtiiKBR + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + compare_mongo_cmd find myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885 + local command=find + local uri=myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885 + 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:51:02+0000] running db.test.find() in myApp + [[ false == true ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885 == *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.pcNSDwU0Ip +++ mktemp ++ local LAST_ERR=/tmp/tmp.MXwmr2IxYg ++ 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.pcNSDwU0Ip ++ cat /tmp/tmp.MXwmr2IxYg ++ rm /tmp/tmp.pcNSDwU0Ip /tmp/tmp.MXwmr2IxYg ++ return 0 + local client_container=psmdb-client-bb8b97679-crf9f + kubectl_bin exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.oPZuSKHURX ++ mktemp + local LAST_ERR=/tmp/tmp.w44aDPjB0j + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-crf9f -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@hostpath-rs0-2.hostpath-rs0.storage-30885.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oPZuSKHURX + cat /tmp/tmp.w44aDPjB0j + rm /tmp/tmp.oPZuSKHURX /tmp/tmp.w44aDPjB0j + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/compare/find.json /tmp/tmp.5F7U5pQSM6/find + desc 'delete PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/storage/conf/hostpath-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.dv9mO9XLzc ++ mktemp + local LAST_ERR=/tmp/tmp.dkzQKv0k6e + 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/e2e-tests/storage/conf/hostpath-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dv9mO9XLzc perconaservermongodb.psmdb.percona.com "hostpath" deleted from storage-30885 namespace + cat /tmp/tmp.dkzQKv0k6e + rm /tmp/tmp.dv9mO9XLzc /tmp/tmp.dkzQKv0k6e + return 0 + destroy storage-30885 + local namespace=storage-30885 + local ignore_logs=true + [[ 1 == 1 ]] + echo 'SKIP_DELETE=1, not destroying storage-30885' SKIP_DELETE=1, not destroying storage-30885 + return + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed -----------------------------------------------------------------------------------