Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/logs/ldap-tls.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + main + create_infra ldap-tls-15825 + local ns=ldap-tls-15825 + echo ldap-tls-15825 + [[ 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 + : ++ grep chaos-mesh ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep validate-auth ++ awk '{print $1}' ++ kubectl get ValidatingWebhookConfiguration + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ awk '{print $1}' ++ grep chaos-mesh ++ 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 + : ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get clusterrolebinding + 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' ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + awk '{print$1}' + xargs kubectl delete ns + kubectl_bin delete namespace psmdb-operator --ignore-not-found + local LAST_OUT=/tmp/tmp.07ggpyEVRn ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.Ty0r5yqqV7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_OUT=/tmp/tmp.sbOlfd552c ++ mktemp + for i in $(seq 0 2) + set +e + kubectl get ns + local LAST_ERR=/tmp/tmp.JKPriOtuPX + 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 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.07ggpyEVRn + cat /tmp/tmp.Ty0r5yqqV7 + rm /tmp/tmp.07ggpyEVRn /tmp/tmp.Ty0r5yqqV7 + return 0 namespace "expose-sharded-2087" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sbOlfd552c namespace "psmdb-operator" deleted + cat /tmp/tmp.JKPriOtuPX + rm /tmp/tmp.sbOlfd552c /tmp/tmp.JKPriOtuPX + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.H7ZLz7emm9 ++ mktemp + local LAST_ERR=/tmp/tmp.thej7vtdXT + 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.H7ZLz7emm9 + cat /tmp/tmp.thej7vtdXT + rm /tmp/tmp.H7ZLz7emm9 /tmp/tmp.thej7vtdXT + 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.GUnzQ7hPdF ++ mktemp + local LAST_ERR=/tmp/tmp.GPDtukaVcD + 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.GUnzQ7hPdF namespace/psmdb-operator created + cat /tmp/tmp.GPDtukaVcD + rm /tmp/tmp.GUnzQ7hPdF /tmp/tmp.GPDtukaVcD + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.Q1RpEoSI5M +++ mktemp ++ local LAST_ERR=/tmp/tmp.EJDiGkY8mh ++ 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.Q1RpEoSI5M ++ cat /tmp/tmp.EJDiGkY8mh ++ rm /tmp/tmp.Q1RpEoSI5M /tmp/tmp.EJDiGkY8mh ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster6 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.g71ZezTozv ++ mktemp + local LAST_ERR=/tmp/tmp.mGF33ZN8sY + 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-cluster6 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g71ZezTozv Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster6" modified. + cat /tmp/tmp.mGF33ZN8sY + rm /tmp/tmp.g71ZezTozv /tmp/tmp.mGF33ZN8sY + 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/ldap-tls/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.tDhjqQEjEq ++ mktemp + local LAST_ERR=/tmp/tmp.unUd0K1nei + 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.tDhjqQEjEq 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.unUd0K1nei + rm /tmp/tmp.tDhjqQEjEq /tmp/tmp.unUd0K1nei + 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 + kubectl_bin apply -n psmdb-operator -f - + sed -e 's^namespace: .*^namespace: psmdb-operator^' ++ mktemp + local LAST_OUT=/tmp/tmp.X7pngXKUDE ++ mktemp + local LAST_ERR=/tmp/tmp.Y6DOr9gU9c + 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.X7pngXKUDE 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.Y6DOr9gU9c + rm /tmp/tmp.X7pngXKUDE /tmp/tmp.Y6DOr9gU9c + 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.UQqG0iC4pg ++ mktemp + local LAST_ERR=/tmp/tmp.bZFiYY9ROz + 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.UQqG0iC4pg deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.bZFiYY9ROz + rm /tmp/tmp.UQqG0iC4pg /tmp/tmp.bZFiYY9ROz + 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.SpAYSDaHo2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.PHH9NXEdZL ++ 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.SpAYSDaHo2 ++ cat /tmp/tmp.PHH9NXEdZL ++ rm /tmp/tmp.SpAYSDaHo2 /tmp/tmp.PHH9NXEdZL ++ return 0 + wait_operator_pod percona-server-mongodb-operator-859f4bc6d7-29fbk + local pod=percona-server-mongodb-operator-859f4bc6d7-29fbk + set +o xtrace waiting for pod/percona-server-mongodb-operator-859f4bc6d7-29fbk 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.HHtaQRF6I6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.C4asvvq7WT ++ 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.HHtaQRF6I6 ++ cat /tmp/tmp.C4asvvq7WT ++ rm /tmp/tmp.HHtaQRF6I6 /tmp/tmp.C4asvvq7WT ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-859f4bc6d7-29fbk ++ mktemp + local LAST_OUT=/tmp/tmp.TQStxWARTd ++ mktemp + local LAST_ERR=/tmp/tmp.GYqzz34MoZ + 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-29fbk + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TQStxWARTd + cat /tmp/tmp.GYqzz34MoZ + rm /tmp/tmp.TQStxWARTd /tmp/tmp.GYqzz34MoZ + return 0 2026-06-09T09:14:12.869Z INFO setup Manager starting up {"gitCommit": "fb8cc718776dc8f9e011cd5f23fe48cf7f65143e", "gitBranch": "PR-2058-fb8cc7187", "buildTime": "", "goVersion": "go1.26.4", "os": "linux", "arch": "amd64"} + create_namespace ldap-tls-15825 + local namespace=ldap-tls-15825 + 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 + : ++ grep chaos-mesh ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' ++ mktemp + desc 'cleaned up old namespaces ldap-tls-15825' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces ldap-tls-15825 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace ldap-tls-15825 --ignore-not-found + xargs kubectl delete ns ++ mktemp + local LAST_OUT=/tmp/tmp.AcGtCSGZFg + local LAST_OUT=/tmp/tmp.wS8fwQuJRO ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.INQD9Czqt3 + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.ZVakBIYBKY + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ 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 ldap-tls-15825 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AcGtCSGZFg + cat /tmp/tmp.INQD9Czqt3 + rm /tmp/tmp.AcGtCSGZFg /tmp/tmp.INQD9Czqt3 + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wS8fwQuJRO + cat /tmp/tmp.ZVakBIYBKY + rm /tmp/tmp.wS8fwQuJRO /tmp/tmp.ZVakBIYBKY + return 0 + kubectl_bin wait --for=delete namespace ldap-tls-15825 ++ mktemp + local LAST_OUT=/tmp/tmp.K9DRbOKMHO ++ mktemp + local LAST_ERR=/tmp/tmp.Ke3oMQSOMn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace ldap-tls-15825 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.K9DRbOKMHO + cat /tmp/tmp.Ke3oMQSOMn + rm /tmp/tmp.K9DRbOKMHO /tmp/tmp.Ke3oMQSOMn + return 0 + desc 'create namespace ldap-tls-15825' + set +o xtrace ----------------------------------------------------------------------------------- create namespace ldap-tls-15825 ----------------------------------------------------------------------------------- + kubectl_bin create namespace ldap-tls-15825 ++ mktemp + local LAST_OUT=/tmp/tmp.WMF2y92rWr ++ mktemp + local LAST_ERR=/tmp/tmp.tGCLwh7lNc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace ldap-tls-15825 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WMF2y92rWr namespace/ldap-tls-15825 created + cat /tmp/tmp.tGCLwh7lNc + rm /tmp/tmp.WMF2y92rWr /tmp/tmp.tGCLwh7lNc + return 0 + set_kube_ctx ldap-tls-15825 + local namespace=ldap-tls-15825 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.OpDhZdLpit +++ mktemp ++ local LAST_ERR=/tmp/tmp.nX3o9KCXhj ++ 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.OpDhZdLpit ++ cat /tmp/tmp.nX3o9KCXhj ++ rm /tmp/tmp.OpDhZdLpit /tmp/tmp.nX3o9KCXhj ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster6 --namespace=ldap-tls-15825 ++ mktemp + local LAST_OUT=/tmp/tmp.omMTbxiFCI ++ mktemp + local LAST_ERR=/tmp/tmp.Zsf0JoFaEH + 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-cluster6 --namespace=ldap-tls-15825 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.omMTbxiFCI Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2058-fb8cc7187-17-cluster6" modified. + cat /tmp/tmp.Zsf0JoFaEH + rm /tmp/tmp.omMTbxiFCI /tmp/tmp.Zsf0JoFaEH + 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.w7kQSUAO3F ++ mktemp + local LAST_ERR=/tmp/tmp.uJByEN4zmX + 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.w7kQSUAO3F namespace/cert-manager created + cat /tmp/tmp.uJByEN4zmX + rm /tmp/tmp.w7kQSUAO3F /tmp/tmp.uJByEN4zmX + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.48s1FGHTOm ++ mktemp + local LAST_ERR=/tmp/tmp.YJVhlyDpGx + 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.48s1FGHTOm namespace/cert-manager labeled + cat /tmp/tmp.YJVhlyDpGx + rm /tmp/tmp.48s1FGHTOm /tmp/tmp.YJVhlyDpGx + 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.4CxaJKNdCd ++ mktemp + local LAST_ERR=/tmp/tmp.mfo2a081D2 + 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.4CxaJKNdCd 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.mfo2a081D2 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.4CxaJKNdCd /tmp/tmp.mfo2a081D2 + 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.rkaMx3IxVb ++ mktemp + local LAST_ERR=/tmp/tmp.wMiq3HPQdF + 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.rkaMx3IxVb pod/cert-manager-559d798845-hvdk8 condition met pod/cert-manager-cainjector-64958d9c7c-cj8wf condition met pod/cert-manager-webhook-7fb6f99b56-jpwbw condition met + cat /tmp/tmp.wMiq3HPQdF E0609 09:15:14.790439 693715 reflector.go:227] "Failed to watch" err="Get \"https://34.46.115.122/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-cainjector-64958d9c7c-cj8wf&resourceVersion=1780996514409215022&timeoutSeconds=537&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.rkaMx3IxVb /tmp/tmp.wMiq3HPQdF + return 0 + sleep 120 + deploy_openldap + [[ -n '' ]] + yq 'select(.metadata.name == "ldap-ca").spec.dnsNames[0]="openldap.ldap-tls-15825.svc.cluster.local"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/openldap.yaml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.GbZxpuarpR ++ mktemp + local LAST_ERR=/tmp/tmp.YuA3xnLrpP + 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.GbZxpuarpR secret/openldap created issuer.cert-manager.io/ldap-issuer created certificate.cert-manager.io/ldap-ca created deployment.apps/openldap created service/openldap created + cat /tmp/tmp.YuA3xnLrpP Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`. + rm /tmp/tmp.GbZxpuarpR /tmp/tmp.YuA3xnLrpP + return 0 + kubectl rollout status deployment/openldap --timeout=220s Waiting for deployment "openldap" rollout to finish: 0 of 1 updated replicas are available... deployment "openldap" successfully rolled out + desc 'create secrets and start client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and start client ----------------------------------------------------------------------------------- + cluster=some-name + 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.IfYV4vFwZn ++ mktemp + local LAST_ERR=/tmp/tmp.tIUpc1u8zi + 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.IfYV4vFwZn secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.tIUpc1u8zi + rm /tmp/tmp.IfYV4vFwZn /tmp/tmp.tIUpc1u8zi + return 0 + test_mongod_openldap + cluster=some-name ++ yq /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/mongod.conf ++ yq '.security.ldap.servers="openldap.ldap-tls-15825.svc.cluster.local:636"' + kubectl_bin create secret generic some-name-rs0-mongod $'--from-literal=mongod.conf=security:\n authorization: enabled\n ldap:\n authz:\n queryTemplate: dc=ldap,dc=local??sub?(&(objectClass=groupOfUniqueNames)(uniqueMember={USER}))\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"},{"match":"cn=admin,ou=perconadba,dc=ldap,dc=local","substitution":"admin"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' ++ mktemp + local LAST_OUT=/tmp/tmp.kRrhh68vYE ++ mktemp + local LAST_ERR=/tmp/tmp.maAaoHSQAm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic some-name-rs0-mongod $'--from-literal=mongod.conf=security:\n authorization: enabled\n ldap:\n authz:\n queryTemplate: dc=ldap,dc=local??sub?(&(objectClass=groupOfUniqueNames)(uniqueMember={USER}))\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"},{"match":"cn=admin,ou=perconadba,dc=ldap,dc=local","substitution":"admin"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kRrhh68vYE secret/some-name-rs0-mongod created + cat /tmp/tmp.maAaoHSQAm + rm /tmp/tmp.kRrhh68vYE /tmp/tmp.maAaoHSQAm + return 0 + desc 'create first PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/some-name.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/some-name.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/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"' + 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"' ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/ldap-tls-15825/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.O735FDlZCz ++ mktemp + local LAST_ERR=/tmp/tmp.MWcmeGlcQN + 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.O735FDlZCz perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.MWcmeGlcQN + rm /tmp/tmp.O735FDlZCz /tmp/tmp.MWcmeGlcQN + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods 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.X4imIANhua +++ mktemp ++ local LAST_ERR=/tmp/tmp.0xAVUPuvOD ++ 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.X4imIANhua ++ cat /tmp/tmp.0xAVUPuvOD ++ rm /tmp/tmp.X4imIANhua /tmp/tmp.0xAVUPuvOD ++ 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.Mvf7G1FW5d +++ mktemp ++ local LAST_ERR=/tmp/tmp.J2PJ5SLqJg ++ 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.Mvf7G1FW5d ++ cat /tmp/tmp.J2PJ5SLqJg ++ rm /tmp/tmp.Mvf7G1FW5d /tmp/tmp.J2PJ5SLqJg ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ul5yXoeIaT +++ mktemp ++ local LAST_ERR=/tmp/tmp.jUrxyB1RD8 ++ 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.ul5yXoeIaT ++ cat /tmp/tmp.jUrxyB1RD8 ++ rm /tmp/tmp.ul5yXoeIaT /tmp/tmp.jUrxyB1RD8 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + run_mongo $'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})' userAdmin:userAdmin123456@some-name-rs0.ldap-tls-15825 + local $'command=db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.ldap-tls-15825 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.ldap-tls-15825 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3ZGKTfB8SG +++ mktemp ++ local LAST_ERR=/tmp/tmp.aSelTlfAVZ ++ 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.3ZGKTfB8SG ++ cat /tmp/tmp.aSelTlfAVZ ++ rm /tmp/tmp.3ZGKTfB8SG /tmp/tmp.aSelTlfAVZ ++ return 0 + local client_container=psmdb-client-bb8b97679-5jfsc + kubectl_bin exec psmdb-client-bb8b97679-5jfsc -- bash -c $'printf \'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})\\n\' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.ldap-tls-15825.svc.cluster.local/admin?ssl=false\\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.lgcS4LbEU2 ++ mktemp + local LAST_ERR=/tmp/tmp.NXeBeqImIB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-5jfsc -- bash -c $'printf \'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})\\n\' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.ldap-tls-15825.svc.cluster.local/admin?ssl=false\\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lgcS4LbEU2 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-1.some-name-rs0.ldap-tls-15825.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.ldap-tls-15825.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.ldap-tls-15825.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("fbf0d95c-10d4-463a-bda8-a362a96e08c4") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match { "role" : "cn=admin,ou=perconadba,dc=ldap,dc=local", "privileges" : [ ], "roles" : [ { "role" : "readAnyDatabase", "db" : "admin" }, { "role" : "dbAdminAnyDatabase", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" }, { "role" : "readWriteAnyDatabase", "db" : "admin" }, { "role" : "restore", "db" : "admin" }, { "role" : "backup", "db" : "admin" } ] } bye + cat /tmp/tmp.NXeBeqImIB + rm /tmp/tmp.lgcS4LbEU2 /tmp/tmp.NXeBeqImIB + return 0 + run_mongo 'JSON.stringify(db.runCommand({connectionStatus:1}))' percona:password@some-name-rs0.ldap-tls-15825 '' '' '--authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + local 'command=JSON.stringify(db.runCommand({connectionStatus:1}))' + local uri=percona:password@some-name-rs0.ldap-tls-15825 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local 'mongo_flag=--authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + local replica_set=rs0 + [[ percona:password@some-name-rs0.ldap-tls-15825 == *cfg* ]] + grep -E -v 'Percona Server for MongoDB|connecting to:|Implicit session:|versions do not match|Error saving history file:|bye' + jq .authInfo + jq '.authenticatedUserRoles |= sort_by(.role)' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YQzejFEXgS +++ mktemp ++ local LAST_ERR=/tmp/tmp.wfQDh9LBY1 ++ 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.YQzejFEXgS ++ cat /tmp/tmp.wfQDh9LBY1 ++ rm /tmp/tmp.YQzejFEXgS /tmp/tmp.wfQDh9LBY1 ++ return 0 + local client_container=psmdb-client-bb8b97679-5jfsc + kubectl_bin exec psmdb-client-bb8b97679-5jfsc -- bash -c 'printf '\''JSON.stringify(db.runCommand({connectionStatus:1}))\n'\'' | mongo mongodb+srv://percona:password@some-name-rs0.ldap-tls-15825.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' ++ mktemp + local LAST_OUT=/tmp/tmp.DvEGmXViAb ++ mktemp + local LAST_ERR=/tmp/tmp.Hg84nBZhVp + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-5jfsc -- bash -c 'printf '\''JSON.stringify(db.runCommand({connectionStatus:1}))\n'\'' | mongo mongodb+srv://percona:password@some-name-rs0.ldap-tls-15825.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 --authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DvEGmXViAb + cat /tmp/tmp.Hg84nBZhVp + rm /tmp/tmp.DvEGmXViAb /tmp/tmp.Hg84nBZhVp + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/compare/authInfo.json /tmp/tmp.9llEMEvRd6/some-name-ldap-tls-15825-authInfo.json + kubectl_bin delete psmdb some-name ++ mktemp + local LAST_OUT=/tmp/tmp.X5abg3M6Yj ++ mktemp + local LAST_ERR=/tmp/tmp.4E4amfbVMw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb some-name + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.X5abg3M6Yj perconaservermongodb.psmdb.percona.com "some-name" deleted from ldap-tls-15825 namespace + cat /tmp/tmp.4E4amfbVMw + rm /tmp/tmp.X5abg3M6Yj /tmp/tmp.4E4amfbVMw + return 0 + kubectl_bin delete pvc --all ++ mktemp + local LAST_OUT=/tmp/tmp.lutXBP71EZ ++ mktemp + local LAST_ERR=/tmp/tmp.1zDrY0Vt7f + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete pvc --all + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lutXBP71EZ persistentvolumeclaim "mongod-data-some-name-rs0-0" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-rs0-1" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-rs0-2" deleted from ldap-tls-15825 namespace + cat /tmp/tmp.1zDrY0Vt7f + rm /tmp/tmp.lutXBP71EZ /tmp/tmp.1zDrY0Vt7f + return 0 + test_sharded_openldap + cluster=some-name-sharded ++ yq /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/mongos.conf ++ yq '.security.ldap.servers="openldap.ldap-tls-15825.svc.cluster.local:636"' + kubectl_bin create secret generic some-name-sharded-mongos $'--from-literal=mongos.conf=security:\n ldap:\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' ++ mktemp + local LAST_OUT=/tmp/tmp.OcZAiwQglg ++ mktemp + local LAST_ERR=/tmp/tmp.YqwZy7GFyW + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic some-name-sharded-mongos $'--from-literal=mongos.conf=security:\n ldap:\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.OcZAiwQglg secret/some-name-sharded-mongos created + cat /tmp/tmp.YqwZy7GFyW + rm /tmp/tmp.OcZAiwQglg /tmp/tmp.YqwZy7GFyW + return 0 ++ yq /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/mongod.conf ++ yq '.security.ldap.servers="openldap.ldap-tls-15825.svc.cluster.local:636"' + kubectl_bin create secret generic some-name-sharded-cfg-mongod $'--from-literal=mongod.conf=security:\n authorization: enabled\n ldap:\n authz:\n queryTemplate: dc=ldap,dc=local??sub?(&(objectClass=groupOfUniqueNames)(uniqueMember={USER}))\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"},{"match":"cn=admin,ou=perconadba,dc=ldap,dc=local","substitution":"admin"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' ++ mktemp + local LAST_OUT=/tmp/tmp.qjsDuWNoe2 ++ mktemp + local LAST_ERR=/tmp/tmp.RgtmkzFtx7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create secret generic some-name-sharded-cfg-mongod $'--from-literal=mongod.conf=security:\n authorization: enabled\n ldap:\n authz:\n queryTemplate: dc=ldap,dc=local??sub?(&(objectClass=groupOfUniqueNames)(uniqueMember={USER}))\n bind:\n queryUser: "cn=readonly,dc=ldap,dc=local"\n queryPassword: "readonlypass"\n servers: openldap.ldap-tls-15825.svc.cluster.local:636\n transportSecurity: tls\n userToDNMapping: \'[{"match":"(.+)","ldapQuery":"OU=perconadba,DC=ldap,DC=local??sub?(uid={0})"},{"match":"cn=admin,ou=perconadba,dc=ldap,dc=local","substitution":"admin"}]\'\nsetParameter:\n authenticationMechanisms: PLAIN,SCRAM-SHA-1' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qjsDuWNoe2 secret/some-name-sharded-cfg-mongod created + cat /tmp/tmp.RgtmkzFtx7 + rm /tmp/tmp.qjsDuWNoe2 /tmp/tmp.RgtmkzFtx7 + return 0 + desc 'create first PSMDB cluster some-name-sharded' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name-sharded ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/some-name-sharded.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/some-name-sharded.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/conf/some-name-sharded.yml ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + 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/ldap-tls-15825/g + local LAST_OUT=/tmp/tmp.siKuloDxeA + yq eval '.spec.upgradeOptions.apply="Never"' ++ mktemp + local LAST_ERR=/tmp/tmp.Au8B29nvNO + 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.siKuloDxeA perconaservermongodb.psmdb.percona.com/some-name-sharded created + cat /tmp/tmp.Au8B29nvNO + rm /tmp/tmp.siKuloDxeA /tmp/tmp.Au8B29nvNO + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running some-name-sharded-rs0 3 + local name=some-name-sharded-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-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-sharded-rs0-0 + local pod=some-name-sharded-rs0-0 + set +o xtrace waiting for pod/some-name-sharded-rs0-0 to be ready............OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-sharded-rs0-1 + local pod=some-name-sharded-rs0-1 + set +o xtrace waiting for pod/some-name-sharded-rs0-1 to be ready.............OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.TvR3vs5WYr +++ mktemp ++ local LAST_ERR=/tmp/tmp.k49wu6AJHH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.TvR3vs5WYr ++ cat /tmp/tmp.k49wu6AJHH ++ rm /tmp/tmp.TvR3vs5WYr /tmp/tmp.k49wu6AJHH ++ return 0 + [[ '' == true ]] + wait_pod some-name-sharded-rs0-2 + local pod=some-name-sharded-rs0-2 + set +o xtrace waiting for pod/some-name-sharded-rs0-2 to be ready.............OK ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4DZlPmK4pf +++ mktemp ++ local LAST_ERR=/tmp/tmp.ar18P7c6aT ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4DZlPmK4pf ++ cat /tmp/tmp.ar18P7c6aT ++ rm /tmp/tmp.4DZlPmK4pf /tmp/tmp.ar18P7c6aT ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.j6g3BnXPFT +++ mktemp ++ local LAST_ERR=/tmp/tmp.t0cC7XvOxi ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.j6g3BnXPFT ++ cat /tmp/tmp.t0cC7XvOxi ++ rm /tmp/tmp.j6g3BnXPFT /tmp/tmp.t0cC7XvOxi ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness....................... + wait_for_running some-name-sharded-cfg 3 false + local name=some-name-sharded-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-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-sharded-cfg-0 + local pod=some-name-sharded-cfg-0 + set +o xtrace waiting for pod/some-name-sharded-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-sharded-cfg-1 + local pod=some-name-sharded-cfg-1 + set +o xtrace waiting for pod/some-name-sharded-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UPzxuyNdJI +++ mktemp ++ local LAST_ERR=/tmp/tmp.XzqX3YJckD ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.UPzxuyNdJI ++ cat /tmp/tmp.XzqX3YJckD ++ rm /tmp/tmp.UPzxuyNdJI /tmp/tmp.XzqX3YJckD ++ return 0 + [[ '' == true ]] + wait_pod some-name-sharded-cfg-2 + local pod=some-name-sharded-cfg-2 + set +o xtrace waiting for pod/some-name-sharded-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6pYbp6QhYK +++ mktemp ++ local LAST_ERR=/tmp/tmp.RX84lqkW8e ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6pYbp6QhYK ++ cat /tmp/tmp.RX84lqkW8e ++ rm /tmp/tmp.6pYbp6QhYK /tmp/tmp.RX84lqkW8e ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EzQtQwmpso +++ mktemp ++ local LAST_ERR=/tmp/tmp.kRX79OUqlz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EzQtQwmpso ++ cat /tmp/tmp.kRX79OUqlz ++ rm /tmp/tmp.EzQtQwmpso /tmp/tmp.kRX79OUqlz ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_for_running some-name-sharded-mongos 3 + local name=some-name-sharded-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-sharded-mongos-0 + local pod=some-name-sharded-mongos-0 + set +o xtrace waiting for pod/some-name-sharded-mongos-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-sharded-mongos-1 + local pod=some-name-sharded-mongos-1 + set +o xtrace waiting for pod/some-name-sharded-mongos-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.f75nM9K14C +++ mktemp ++ local LAST_ERR=/tmp/tmp.PLvgUJAZVm ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.f75nM9K14C ++ cat /tmp/tmp.PLvgUJAZVm ++ rm /tmp/tmp.f75nM9K14C /tmp/tmp.PLvgUJAZVm ++ return 0 + [[ '' == true ]] + wait_pod some-name-sharded-mongos-2 + local pod=some-name-sharded-mongos-2 + set +o xtrace waiting for pod/some-name-sharded-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FEv9SoRSPX +++ mktemp ++ local LAST_ERR=/tmp/tmp.EpxrmUCiNH ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FEv9SoRSPX ++ cat /tmp/tmp.EpxrmUCiNH ++ rm /tmp/tmp.FEv9SoRSPX /tmp/tmp.EpxrmUCiNH ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.z7yTAYSrKD +++ mktemp ++ local LAST_ERR=/tmp/tmp.oTRHb8EVkO ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.z7yTAYSrKD ++ cat /tmp/tmp.oTRHb8EVkO ++ rm /tmp/tmp.z7yTAYSrKD /tmp/tmp.oTRHb8EVkO ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness + wait_cluster_consistency some-name-sharded + local cluster_name=some-name-sharded + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jQxiiKpD1t +++ mktemp ++ local LAST_ERR=/tmp/tmp.0casMKaLq1 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jQxiiKpD1t ++ cat /tmp/tmp.0casMKaLq1 ++ rm /tmp/tmp.jQxiiKpD1t /tmp/tmp.0casMKaLq1 ++ return 0 + [[ ready == ready ]] + echo .OK .OK + run_mongos $'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})' userAdmin:userAdmin123456@some-name-sharded-mongos.ldap-tls-15825 + local $'command=db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})' + local uri=userAdmin:userAdmin123456@some-name-sharded-mongos.ldap-tls-15825 + 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.oIoq3ngr6k +++ mktemp ++ local LAST_ERR=/tmp/tmp.G7cipEIBP8 ++ 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.oIoq3ngr6k ++ cat /tmp/tmp.G7cipEIBP8 ++ rm /tmp/tmp.oIoq3ngr6k /tmp/tmp.G7cipEIBP8 ++ return 0 + local client_container=psmdb-client-bb8b97679-5jfsc + kubectl_bin exec psmdb-client-bb8b97679-5jfsc -- bash -c $'printf \'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})\\n\' | mongo mongodb://userAdmin:userAdmin123456@some-name-sharded-mongos.ldap-tls-15825.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.KcYVF2sKk6 ++ mktemp + local LAST_ERR=/tmp/tmp.ElG8nmIc09 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-5jfsc -- bash -c $'printf \'db.getSiblingDB("admin").createRole(\n{\n role: "cn=admin,ou=perconadba,dc=ldap,dc=local",\n privileges: [],\n roles : [\n {\n "role" : "readAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "dbAdminAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "clusterMonitor",\n "db" : "admin"\n },\n {\n "role" : "readWriteAnyDatabase",\n "db" : "admin"\n },\n {\n "role" : "restore",\n "db" : "admin"\n },\n {\n "role" : "backup",\n "db" : "admin"\n }\n ]})\\n\' | mongo mongodb://userAdmin:userAdmin123456@some-name-sharded-mongos.ldap-tls-15825.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KcYVF2sKk6 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-sharded-mongos.ldap-tls-15825.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("dc152432-b27c-43ee-b260-bc623d629295") } Percona Server for MongoDB server version: v8.0.23-10 WARNING: shell and server versions do not match { "role" : "cn=admin,ou=perconadba,dc=ldap,dc=local", "privileges" : [ ], "roles" : [ { "role" : "readAnyDatabase", "db" : "admin" }, { "role" : "dbAdminAnyDatabase", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" }, { "role" : "readWriteAnyDatabase", "db" : "admin" }, { "role" : "restore", "db" : "admin" }, { "role" : "backup", "db" : "admin" } ] } bye + cat /tmp/tmp.ElG8nmIc09 + rm /tmp/tmp.KcYVF2sKk6 /tmp/tmp.ElG8nmIc09 + return 0 + run_mongos 'JSON.stringify(db.runCommand({connectionStatus:1}))' percona:password@some-name-sharded-mongos.ldap-tls-15825 '' '' '--authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + local 'command=JSON.stringify(db.runCommand({connectionStatus:1}))' + local uri=percona:password@some-name-sharded-mongos.ldap-tls-15825 + local driver=mongodb + local suffix=.svc.cluster.local + local 'mongo_flag=--authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + local port=27017 + local mongo_bin=mongo + grep -E -v 'Percona Server for MongoDB|connecting to:|Implicit session:|versions do not match|Error saving history file:|bye' + jq .authInfo ++ echo .svc.cluster.local + jq '.authenticatedUserRoles |= sort_by(.role)' ++ 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.46r4cAj3Xm +++ mktemp ++ local LAST_ERR=/tmp/tmp.TInQZMsfje ++ 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.46r4cAj3Xm ++ cat /tmp/tmp.TInQZMsfje ++ rm /tmp/tmp.46r4cAj3Xm /tmp/tmp.TInQZMsfje ++ return 0 + local client_container=psmdb-client-bb8b97679-5jfsc + kubectl_bin exec psmdb-client-bb8b97679-5jfsc -- bash -c 'printf '\''JSON.stringify(db.runCommand({connectionStatus:1}))\n'\'' | mongo mongodb://percona:password@some-name-sharded-mongos.ldap-tls-15825.svc.cluster.local:27017/admin --authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' ++ mktemp + local LAST_OUT=/tmp/tmp.g3nyVJbgMY ++ mktemp + local LAST_ERR=/tmp/tmp.Vac0Reb1QJ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-5jfsc -- bash -c 'printf '\''JSON.stringify(db.runCommand({connectionStatus:1}))\n'\'' | mongo mongodb://percona:password@some-name-sharded-mongos.ldap-tls-15825.svc.cluster.local:27017/admin --authenticationMechanism '\''PLAIN'\'' --authenticationDatabase '\''$external'\''' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g3nyVJbgMY + cat /tmp/tmp.Vac0Reb1QJ + rm /tmp/tmp.g3nyVJbgMY /tmp/tmp.Vac0Reb1QJ + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2058/e2e-tests/ldap-tls/compare/authInfo.json /tmp/tmp.9llEMEvRd6/some-name-sharded-ldap-tls-15825-authInfo.json + kubectl_bin delete psmdb some-name-sharded ++ mktemp + local LAST_OUT=/tmp/tmp.sCQBZlGEOZ ++ mktemp + local LAST_ERR=/tmp/tmp.E0obY3cx2N + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete psmdb some-name-sharded + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sCQBZlGEOZ perconaservermongodb.psmdb.percona.com "some-name-sharded" deleted from ldap-tls-15825 namespace + cat /tmp/tmp.E0obY3cx2N + rm /tmp/tmp.sCQBZlGEOZ /tmp/tmp.E0obY3cx2N + return 0 + kubectl_bin delete pvc --all ++ mktemp + local LAST_OUT=/tmp/tmp.zkbddeob1M ++ mktemp + local LAST_ERR=/tmp/tmp.yRhJZHXsT2 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete pvc --all + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zkbddeob1M persistentvolumeclaim "mongod-data-some-name-sharded-cfg-0" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-sharded-cfg-1" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-sharded-cfg-2" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-sharded-rs0-0" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-sharded-rs0-1" deleted from ldap-tls-15825 namespace persistentvolumeclaim "mongod-data-some-name-sharded-rs0-2" deleted from ldap-tls-15825 namespace + cat /tmp/tmp.yRhJZHXsT2 + rm /tmp/tmp.zkbddeob1M /tmp/tmp.yRhJZHXsT2 + return 0 + destroy ldap-tls-15825 + local namespace=ldap-tls-15825 + local ignore_logs=true + [[ 1 == 1 ]] + echo 'SKIP_DELETE=1, not destroying ldap-tls-15825' SKIP_DELETE=1, not destroying ldap-tls-15825 + return + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed -----------------------------------------------------------------------------------