Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/logs/custom-users-roles-sharded.log WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.33) and server (1.30) exceeds the supported minor version skew of +/-1 + cluster=some-name + create_infra custom-users-roles-sharded-10195 + local ns=custom-users-roles-sharded-10195 + [[ 1 == 1 ]] + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.DQLlD5t9mY ++ mktemp + local LAST_ERR=/tmp/tmp.iexhzYRSmH + 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-1926/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DQLlD5t9mY customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.iexhzYRSmH + rm /tmp/tmp.DQLlD5t9mY /tmp/tmp.iexhzYRSmH + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml ++ grep -v '\-\-\-' + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.D4EWfDjw86 ++ mktemp + local LAST_ERR=/tmp/tmp.qtbOYGsDIX + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.D4EWfDjw86 + cat /tmp/tmp.qtbOYGsDIX + rm /tmp/tmp.D4EWfDjw86 /tmp/tmp.qtbOYGsDIX + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + grep -v NAMESPACE + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.YqSdlHzAUN ++ mktemp + local LAST_ERR=/tmp/tmp.aVwq3AtBK4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.YqSdlHzAUN + cat /tmp/tmp.aVwq3AtBK4 + rm /tmp/tmp.YqSdlHzAUN /tmp/tmp.aVwq3AtBK4 + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.59IMhmOrId ++ mktemp + local LAST_ERR=/tmp/tmp.dX8XYGgEw7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.59IMhmOrId + cat /tmp/tmp.dX8XYGgEw7 + rm /tmp/tmp.59IMhmOrId /tmp/tmp.dX8XYGgEw7 + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.lGAonCIYKl ++ mktemp + local LAST_ERR=/tmp/tmp.L0kaBUNz0w + 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-1926/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lGAonCIYKl clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.L0kaBUNz0w + rm /tmp/tmp.lGAonCIYKl /tmp/tmp.L0kaBUNz0w + return 0 + check_crd_for_deletion PR-1926-d4d89df0 + local git_tag=PR-1926-d4d89df0 ++ /usr/bin/sed s/---//g ++ /usr/bin/sed ':a;N;$!ba;s/\n/ /g' ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1926-d4d89df0/deploy/crd.yaml ++ yq eval .metadata.name + for crd_name in '$(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '\''.metadata.name'\'' | $sed '\''s/---//g'\'' | $sed '\'':a;N;$!ba;s/\n/ /g'\'')' ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EHAUfSCZo3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.3mjjcLAAZp ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.EHAUfSCZo3 ++ cat /tmp/tmp.3mjjcLAAZp Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.EHAUfSCZo3 ++ cat /tmp/tmp.3mjjcLAAZp Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.EHAUfSCZo3 ++ cat /tmp/tmp.3mjjcLAAZp Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.EHAUfSCZo3 ++ cat /tmp/tmp.3mjjcLAAZp Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.EHAUfSCZo3 /tmp/tmp.3mjjcLAAZp ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// ++ tail -n1 + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get MutatingWebhookConfiguration + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get ValidatingWebhookConfiguration + 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 + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl api-resources ++ 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 + : ++ grep chaos-mesh ++ kubectl get clusterrole ++ 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 ----------------------------------------------------------------------------------- + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|gke-mcs|^NAME' + kubectl_bin get ns + '[' -n '' ']' + xargs kubectl delete ns + 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 + awk '{print$1}' ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.FAp2X5FYEF ++ mktemp + local LAST_OUT=/tmp/tmp.ICVmTOJxdk + local LAST_ERR=/tmp/tmp.akYz7tbf3h + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.lH6H0YWx5F + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + for i in '$(seq 0 2)' + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FAp2X5FYEF + cat /tmp/tmp.akYz7tbf3h + rm /tmp/tmp.FAp2X5FYEF /tmp/tmp.akYz7tbf3h + return 0 namespace "custom-users-roles-sharded-13481" deleted namespace "gke-managed-cim" deleted namespace "gke-managed-system" deleted namespace "gmp-public" deleted namespace "gmp-system" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ICVmTOJxdk namespace "psmdb-operator" deleted + cat /tmp/tmp.lH6H0YWx5F + rm /tmp/tmp.ICVmTOJxdk /tmp/tmp.lH6H0YWx5F + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.RfYf9aXoCg ++ mktemp + local LAST_ERR=/tmp/tmp.gVuklF3T9A + 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.RfYf9aXoCg + cat /tmp/tmp.gVuklF3T9A + rm /tmp/tmp.RfYf9aXoCg /tmp/tmp.gVuklF3T9A + 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.o3RW6Gdb4a ++ mktemp + local LAST_ERR=/tmp/tmp.iii6DW24Sf + 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.o3RW6Gdb4a namespace/psmdb-operator created + cat /tmp/tmp.iii6DW24Sf + rm /tmp/tmp.o3RW6Gdb4a /tmp/tmp.iii6DW24Sf + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.uavr57NWJf +++ mktemp ++ local LAST_ERR=/tmp/tmp.j7qCJKaQME ++ 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.uavr57NWJf ++ cat /tmp/tmp.j7qCJKaQME ++ rm /tmp/tmp.uavr57NWJf /tmp/tmp.j7qCJKaQME ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1926-d4d89df0-31-cluster7 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.0OHzyQFquP ++ mktemp + local LAST_ERR=/tmp/tmp.DVY1M04cNf + 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-1926-d4d89df0-31-cluster7 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0OHzyQFquP Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1926-d4d89df0-31-cluster7" modified. + cat /tmp/tmp.DVY1M04cNf + rm /tmp/tmp.0OHzyQFquP /tmp/tmp.DVY1M04cNf + return 0 + deploy_operator + desc 'start PSMDB operator' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.cZHLU2Akx8 ++ mktemp + local LAST_ERR=/tmp/tmp.59yzluQ7L9 + 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-1926/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cZHLU2Akx8 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.59yzluQ7L9 + rm /tmp/tmp.cZHLU2Akx8 /tmp/tmp.59yzluQ7L9 + 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-1926/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.lC2sBJePht ++ mktemp + local LAST_ERR=/tmp/tmp.VgY7UBA5xf + 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.lC2sBJePht clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.VgY7UBA5xf + rm /tmp/tmp.lC2sBJePht /tmp/tmp.VgY7UBA5xf + return 0 + kubectl_bin apply -f - + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1926-d4d89df0") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/cw-operator.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.acNrdjIGxP ++ mktemp + local LAST_ERR=/tmp/tmp.WkH7hKNg8E + 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.acNrdjIGxP deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.WkH7hKNg8E + rm /tmp/tmp.acNrdjIGxP /tmp/tmp.WkH7hKNg8E + return 0 + sleep 2 ++ 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.tYPNDbUgVC +++ mktemp ++ local LAST_ERR=/tmp/tmp.OG3TfxF9Nl ++ 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.tYPNDbUgVC ++ cat /tmp/tmp.OG3TfxF9Nl ++ rm /tmp/tmp.tYPNDbUgVC /tmp/tmp.OG3TfxF9Nl ++ return 0 + wait_pod percona-server-mongodb-operator-c5895859f-wwgpg + local pod=percona-server-mongodb-operator-c5895859f-wwgpg + set +o xtrace waiting for pod/percona-server-mongodb-operator-c5895859f-wwgpg 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.4cPA88WKET +++ mktemp ++ local LAST_ERR=/tmp/tmp.rVcUfgnkS5 ++ 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.4cPA88WKET ++ cat /tmp/tmp.rVcUfgnkS5 ++ rm /tmp/tmp.4cPA88WKET /tmp/tmp.rVcUfgnkS5 ++ return 0 + kubectl_bin logs percona-server-mongodb-operator-c5895859f-wwgpg ++ mktemp + local LAST_OUT=/tmp/tmp.SHjXRcraw5 ++ mktemp + local LAST_ERR=/tmp/tmp.oX6g6UfMjw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl logs percona-server-mongodb-operator-c5895859f-wwgpg + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SHjXRcraw5 + cat /tmp/tmp.oX6g6UfMjw + rm /tmp/tmp.SHjXRcraw5 /tmp/tmp.oX6g6UfMjw + return 0 2025-06-11T11:42:35.404Z INFO setup Manager starting up {"gitCommit": "d4d89df06387c83c75ec97fa349bfd60d81a9afc", "gitBranch": "PR-1926-d4d89df0", "buildTime": "", "goVersion": "go1.24.4", "os": "linux", "arch": "amd64"} + create_namespace custom-users-roles-sharded-10195 + local namespace=custom-users-roles-sharded-10195 + 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 + : ++ awk '{print $1}' ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh + 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 ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + '[' -n '' ']' + desc 'cleaned up old namespaces custom-users-roles-sharded-10195' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces custom-users-roles-sharded-10195 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace custom-users-roles-sharded-10195 --ignore-not-found + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|gke-mcs|^NAME' ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.C4vqPhWdy2 ++ mktemp + local LAST_OUT=/tmp/tmp.gJ11iKME2s ++ mktemp + local LAST_ERR=/tmp/tmp.Y75lgv0kt2 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + awk '{print$1}' + local LAST_ERR=/tmp/tmp.inemKWux41 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace custom-users-roles-sharded-10195 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gJ11iKME2s + cat /tmp/tmp.Y75lgv0kt2 + rm /tmp/tmp.gJ11iKME2s /tmp/tmp.Y75lgv0kt2 + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.C4vqPhWdy2 + cat /tmp/tmp.inemKWux41 + rm /tmp/tmp.C4vqPhWdy2 /tmp/tmp.inemKWux41 + return 0 + kubectl_bin wait --for=delete namespace custom-users-roles-sharded-10195 ++ mktemp + local LAST_OUT=/tmp/tmp.IIU0qgYCIq ++ mktemp + local LAST_ERR=/tmp/tmp.qaS6iXqmuh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete namespace custom-users-roles-sharded-10195 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IIU0qgYCIq + cat /tmp/tmp.qaS6iXqmuh + rm /tmp/tmp.IIU0qgYCIq /tmp/tmp.qaS6iXqmuh + return 0 + desc 'create namespace custom-users-roles-sharded-10195' + set +o xtrace ----------------------------------------------------------------------------------- create namespace custom-users-roles-sharded-10195 ----------------------------------------------------------------------------------- + kubectl_bin create namespace custom-users-roles-sharded-10195 ++ mktemp + local LAST_OUT=/tmp/tmp.qKmTsD0CTq ++ mktemp + local LAST_ERR=/tmp/tmp.uaGkq4ts6k + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace custom-users-roles-sharded-10195 namespace "gke-managed-cim" deleted namespace "gke-managed-system" deleted namespace "gmp-public" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qKmTsD0CTq namespace/custom-users-roles-sharded-10195 created + cat /tmp/tmp.uaGkq4ts6k + rm /tmp/tmp.qKmTsD0CTq /tmp/tmp.uaGkq4ts6k + return 0 + set_kube_ctx custom-users-roles-sharded-10195 + local namespace=custom-users-roles-sharded-10195 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.Qdsx6FueUn +++ mktemp ++ local LAST_ERR=/tmp/tmp.LTzBt0N1Tq ++ 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.Qdsx6FueUn ++ cat /tmp/tmp.LTzBt0N1Tq ++ rm /tmp/tmp.Qdsx6FueUn /tmp/tmp.LTzBt0N1Tq ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1926-d4d89df0-31-cluster7 --namespace=custom-users-roles-sharded-10195 namespace "gmp-system" deleted ++ mktemp + local LAST_OUT=/tmp/tmp.JeyrprWL5q ++ mktemp + local LAST_ERR=/tmp/tmp.8tRWNIwVlh + 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-1926-d4d89df0-31-cluster7 --namespace=custom-users-roles-sharded-10195 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JeyrprWL5q Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1926-d4d89df0-31-cluster7" modified. + cat /tmp/tmp.8tRWNIwVlh + rm /tmp/tmp.JeyrprWL5q /tmp/tmp.8tRWNIwVlh + return 0 + mongosUri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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-1926/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/app-user-secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.Hsx0CbWv55 ++ mktemp + local LAST_ERR=/tmp/tmp.xM2gEE6uTU + 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-1926/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/app-user-secrets.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Hsx0CbWv55 deployment.apps/psmdb-client created secret/some-users created secret/user-one created secret/user-two created + cat /tmp/tmp.xM2gEE6uTU + rm /tmp/tmp.Hsx0CbWv55 /tmp/tmp.xM2gEE6uTU + return 0 + apply_s3_storage_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.HJSRQ88yLr ++ mktemp + local LAST_ERR=/tmp/tmp.IT5rwy3lYD + 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-1926/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HJSRQ88yLr secret/minio-secret created secret/aws-s3-secret created secret/gcp-cs-secret created secret/azure-secret created + cat /tmp/tmp.IT5rwy3lYD + rm /tmp/tmp.HJSRQ88yLr /tmp/tmp.IT5rwy3lYD + return 0 + version_gt 1.19 ++ bc -l ++ echo '1.30 >= 1.19' + '[' 1 -eq 1 ']' + return 0 + '[' 0 -ne 1 ']' + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/conf/container-rc.yaml + /usr/bin/sed s/docker/runc/g ++ mktemp + local LAST_OUT=/tmp/tmp.yOyr7pavfa ++ mktemp + local LAST_ERR=/tmp/tmp.xercQJIiCx + 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.yOyr7pavfa runtimeclass.node.k8s.io/container-rc unchanged + cat /tmp/tmp.xercQJIiCx + rm /tmp/tmp.yOyr7pavfa /tmp/tmp.xercQJIiCx + return 0 + desc 'create first PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/some-name-rs0.yml + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/conf/some-name-rs0.yml + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '.spec.upgradeOptions.apply="Never"' + kubectl_bin apply -f - + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1926-d4d89df0"' ++ mktemp + local LAST_OUT=/tmp/tmp.3Ds3WQg9yu ++ mktemp + local LAST_ERR=/tmp/tmp.EPPvG5Wz4Y + 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.3Ds3WQg9yu perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.EPPvG5Wz4Y + rm /tmp/tmp.3Ds3WQg9yu /tmp/tmp.EPPvG5Wz4Y + 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.Pf0xlAO2SU +++ mktemp ++ local LAST_ERR=/tmp/tmp.EksrCC3ZYo ++ 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.Pf0xlAO2SU ++ cat /tmp/tmp.EksrCC3ZYo ++ rm /tmp/tmp.Pf0xlAO2SU /tmp/tmp.EksrCC3ZYo ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.............OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mg3Z8RaAdz +++ mktemp ++ local LAST_ERR=/tmp/tmp.N8nDwxTCUO ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mg3Z8RaAdz ++ cat /tmp/tmp.N8nDwxTCUO ++ rm /tmp/tmp.mg3Z8RaAdz /tmp/tmp.N8nDwxTCUO ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.I9odn4V9fA +++ mktemp ++ local LAST_ERR=/tmp/tmp.UeLd6tlHaK ++ 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.I9odn4V9fA ++ cat /tmp/tmp.UeLd6tlHaK ++ rm /tmp/tmp.I9odn4V9fA /tmp/tmp.UeLd6tlHaK ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness.................. + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5mjMwcSYIH +++ mktemp ++ local LAST_ERR=/tmp/tmp.cT45ViEkvq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5mjMwcSYIH ++ cat /tmp/tmp.cT45ViEkvq ++ rm /tmp/tmp.5mjMwcSYIH /tmp/tmp.cT45ViEkvq ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MJNi8FKu7S +++ mktemp ++ local LAST_ERR=/tmp/tmp.oIt52AmuHU ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MJNi8FKu7S ++ cat /tmp/tmp.oIt52AmuHU ++ rm /tmp/tmp.MJNi8FKu7S /tmp/tmp.oIt52AmuHU ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CM4kFMiSpx +++ mktemp ++ local LAST_ERR=/tmp/tmp.0asM2dgWpg ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CM4kFMiSpx ++ cat /tmp/tmp.0asM2dgWpg ++ rm /tmp/tmp.CM4kFMiSpx /tmp/tmp.0asM2dgWpg ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + wait_for_running some-name-mongos 3 + local name=some-name-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 ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-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=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WaXM8691N8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.jq0I1F9P85 ++ 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=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.WaXM8691N8 ++ cat /tmp/tmp.jq0I1F9P85 ++ rm /tmp/tmp.WaXM8691N8 /tmp/tmp.jq0I1F9P85 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BQ0Ktvl6f0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WdMoomHUZv ++ 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=="mongos")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BQ0Ktvl6f0 ++ cat /tmp/tmp.WdMoomHUZv ++ rm /tmp/tmp.BQ0Ktvl6f0 /tmp/tmp.WdMoomHUZv ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.coCpeksFgF +++ mktemp ++ local LAST_ERR=/tmp/tmp.sLPaKa2Xor ++ 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=="mongos")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.coCpeksFgF ++ cat /tmp/tmp.sLPaKa2Xor ++ rm /tmp/tmp.coCpeksFgF /tmp/tmp.sLPaKa2Xor ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MLH88XRVG1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.HgcDzSzbFR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MLH88XRVG1 ++ cat /tmp/tmp.HgcDzSzbFR ++ rm /tmp/tmp.MLH88XRVG1 /tmp/tmp.HgcDzSzbFR ++ return 0 + [[ ready == \r\e\a\d\y ]] + echo + desc 'check if service and statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service and statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/some-name-rs0 + local resource=statefulset/some-name-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-rs0.yml + local new_result=/tmp/tmp.bymKTNzsc9/statefulset_some-name-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/some-name-rs0 + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("custom-users-roles-sharded-10195", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.g5iuIB51jT ++ mktemp + local LAST_ERR=/tmp/tmp.1DCU7lNQ0T + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get -o yaml statefulset/some-name-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g5iuIB51jT + cat /tmp/tmp.1DCU7lNQ0T + rm /tmp/tmp.g5iuIB51jT /tmp/tmp.1DCU7lNQ0T + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-rs0.yml + version_gt 1.22 ++ echo '1.30 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-rs0.yml /tmp/tmp.bymKTNzsc9/statefulset_some-name-rs0.yml + compare_kubectl statefulset/some-name-cfg + local resource=statefulset/some-name-cfg + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-cfg.yml + local new_result=/tmp/tmp.bymKTNzsc9/statefulset_some-name-cfg.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-cfg-oc.yml ']' + kubectl_bin get -o yaml statefulset/some-name-cfg + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("custom-users-roles-sharded-10195", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | ++ mktemp (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - + local LAST_OUT=/tmp/tmp.j2jCAZvXtE ++ mktemp + local LAST_ERR=/tmp/tmp.Pu6FCF6A4T + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get -o yaml statefulset/some-name-cfg + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.j2jCAZvXtE + cat /tmp/tmp.Pu6FCF6A4T + rm /tmp/tmp.j2jCAZvXtE /tmp/tmp.Pu6FCF6A4T + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-cfg.yml + version_gt 1.22 ++ bc -l ++ echo '1.30 >= 1.22' + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-cfg.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-cfg.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-cfg.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-cfg.yml /tmp/tmp.bymKTNzsc9/statefulset_some-name-cfg.yml + compare_kubectl statefulset/some-name-mongos '' + local resource=statefulset/some-name-mongos + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-mongos.yml + local new_result=/tmp/tmp.bymKTNzsc9/statefulset_some-name-mongos.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-mongos-oc.yml ']' + yq eval ' del(.metadata.ownerReferences[].apiVersion) | del(.metadata.managedFields) | del(.. | select(has("creationTimestamp")).creationTimestamp) | del(.. | select(has("namespace")).namespace) | del(.. | select(has("uid")).uid) | del(.metadata.resourceVersion) | del(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) | del(.metadata.selfLink) | del(.metadata.annotations."cloud.google.com/neg") | del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") | del(.. | select(has("image")).image) | del(.. | select(has("clusterIP")).clusterIP) | del(.. | select(has("clusterIPs")).clusterIPs) | del(.. | select(has("dataSource")).dataSource) | del(.. | select(has("procMount")).procMount) | del(.. | select(has("storageClassName")).storageClassName) | del(.. | select(has("finalizers")).finalizers) | del(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") | del(.. | select(has("volumeName")).volumeName) | del(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") | del(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") | del(.spec.volumeMode) | del(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") | del(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") | del(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") | del(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") | del(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") | del(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) | del(.. | select(has("healthCheckNodePort")).healthCheckNodePort) | del(.. | select(has("nodePort")).nodePort) | del(.status) | (.. | select(tag == "!!str")) |= sub("custom-users-roles-sharded-10195", "NAME_SPACE") | del(.spec.volumeClaimTemplates[].apiVersion) | del(.spec.volumeClaimTemplates[].kind) | del(.spec.ipFamilies) | del(.spec.ipFamilyPolicy) | (.. | select(. == "extensions/v1beta1")) = "apps/v1" | (.. | select(. == "batch/v1beta1")) = "batch/v1" ' - + kubectl_bin get -o yaml statefulset/some-name-mongos ++ mktemp + local LAST_OUT=/tmp/tmp.Hnal5B3UZn ++ mktemp + local LAST_ERR=/tmp/tmp.SNDp3motE1 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get -o yaml statefulset/some-name-mongos + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Hnal5B3UZn + cat /tmp/tmp.SNDp3motE1 + rm /tmp/tmp.Hnal5B3UZn /tmp/tmp.SNDp3motE1 + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-mongos.yml + version_gt 1.22 ++ bc -l ++ echo '1.30 >= 1.22' + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-mongos.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.bymKTNzsc9/statefulset_some-name-mongos.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-mongos.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/statefulset_some-name-mongos.yml /tmp/tmp.bymKTNzsc9/statefulset_some-name-mongos.yml + desc 'check user created on cluster creation' + set +o xtrace ----------------------------------------------------------------------------------- check user created on cluster creation ----------------------------------------------------------------------------------- + userOne=user-one ++ getSecretData user-one userOnePassKey ++ local secretName=user-one ++ local dataKey=userOnePassKey +++ kubectl get secrets/user-one '--template={{.data.userOnePassKey}}' +++ base64 -d ++ local data=clusterMonitor ++ echo clusterMonitor + userOnePass=clusterMonitor ++ get_user_cmd '"user-one"' ++ local 'user="user-one"' ++ cmd='(function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-one + local database=admin + local 'command=(function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-one + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' ++ 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.XxwFJj4yHU +++ mktemp ++ local LAST_ERR=/tmp/tmp.syANOmo23M ++ 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.XxwFJj4yHU ++ cat /tmp/tmp.syANOmo23M ++ rm /tmp/tmp.XxwFJj4yHU /tmp/tmp.syANOmo23M ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.5TDf9AAApa ++ mktemp + local LAST_ERR=/tmp/tmp.XsQEtIazPo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-one"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5TDf9AAApa + cat /tmp/tmp.XsQEtIazPo + rm /tmp/tmp.5TDf9AAApa /tmp/tmp.XsQEtIazPo + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-one.json /tmp/tmp.bymKTNzsc9/user-one + check_auth user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ 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.F9xbCUWtIl ++++ mktemp +++ local LAST_ERR=/tmp/tmp.uG47kErxpN +++ 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.F9xbCUWtIl +++ cat /tmp/tmp.uG47kErxpN +++ rm /tmp/tmp.F9xbCUWtIl /tmp/tmp.uG47kErxpN +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PY6PotU1x1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.QRY6mpuNX7 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PY6PotU1x1 ++ cat /tmp/tmp.QRY6mpuNX7 ++ rm /tmp/tmp.PY6PotU1x1 /tmp/tmp.QRY6mpuNX7 ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + generatedUserSecret=some-name-custom-user-secret ++ kubectl_bin get secret some-name-custom-user-secret -o 'jsonpath={.data.user-gen}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.uPFSiSue6K ++ base64 -d +++ mktemp ++ local LAST_ERR=/tmp/tmp.DECPJPJz9u ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get secret some-name-custom-user-secret -o 'jsonpath={.data.user-gen}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.uPFSiSue6K ++ cat /tmp/tmp.DECPJPJz9u ++ rm /tmp/tmp.uPFSiSue6K /tmp/tmp.DECPJPJz9u ++ return 0 + generatedPass=7vJxQDNlwBT3ZI7U9fu ++ get_user_cmd '"user-gen"' ++ local 'user="user-gen"' ++ cmd='(function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-gen + local database=admin + local 'command=(function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-gen + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local 'command=use admin\n (function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ echo .svc.cluster.local + sed '/"userId"/d' ++ 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.yhKZRXrXir +++ mktemp ++ local LAST_ERR=/tmp/tmp.ZLGfCj5oYi ++ 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.yhKZRXrXir ++ cat /tmp/tmp.ZLGfCj5oYi ++ rm /tmp/tmp.yhKZRXrXir /tmp/tmp.ZLGfCj5oYi ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.gOhtKz8wNQ ++ mktemp + local LAST_ERR=/tmp/tmp.MVSgRd1SCU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-gen"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gOhtKz8wNQ + cat /tmp/tmp.MVSgRd1SCU + rm /tmp/tmp.gOhtKz8wNQ /tmp/tmp.MVSgRd1SCU + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-gen.json /tmp/tmp.bymKTNzsc9/user-gen + check_auth user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' +++ 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.IJHVRs8o3i ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XuYIxhhML5 +++ 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.IJHVRs8o3i +++ cat /tmp/tmp.XuYIxhhML5 +++ rm /tmp/tmp.IJHVRs8o3i /tmp/tmp.XuYIxhhML5 +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6dg1AuRS5x +++ mktemp ++ local LAST_ERR=/tmp/tmp.yiuCSDWdPB ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-gen:7vJxQDNlwBT3ZI7U9fu@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6dg1AuRS5x ++ cat /tmp/tmp.yiuCSDWdPB ++ rm /tmp/tmp.6dg1AuRS5x /tmp/tmp.yiuCSDWdPB ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' ++ get_user_cmd '"user-external"' ++ local 'user="user-external"' ++ cmd='(function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare '$external' '(function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-external + local 'database=$external' + local 'command=(function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-external + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + run_mongos 'use $external\n (function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use $external\n (function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.YEtzFs1nq6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FD9sUoSN9k ++ 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.YEtzFs1nq6 ++ cat /tmp/tmp.FD9sUoSN9k ++ rm /tmp/tmp.YEtzFs1nq6 /tmp/tmp.FD9sUoSN9k ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use $external\n (function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.gxYXsEiQDA ++ mktemp + local LAST_ERR=/tmp/tmp.fyri2ZhVtP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use $external\n (function() { var user = db.getUser("user-external"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gxYXsEiQDA + cat /tmp/tmp.fyri2ZhVtP + rm /tmp/tmp.gxYXsEiQDA /tmp/tmp.fyri2ZhVtP + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-external.json /tmp/tmp.bymKTNzsc9/user-external + desc 'delete initial user from CR and create a new one' + set +o xtrace ----------------------------------------------------------------------------------- delete initial user from CR and create a new one ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-two", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"userAdminAnyDatabase"}, {"db":"admin","name":"clusterAdmin"} ] } ]} }' ++ mktemp + local LAST_OUT=/tmp/tmp.20BsXQtIlF ++ mktemp + local LAST_ERR=/tmp/tmp.d9tA9GsFIL + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-two", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"userAdminAnyDatabase"}, {"db":"admin","name":"clusterAdmin"} ] } ]} }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.20BsXQtIlF perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.d9tA9GsFIL + rm /tmp/tmp.20BsXQtIlF /tmp/tmp.d9tA9GsFIL + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.OeS6Cpe7G4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FQtmSoEyla ++ 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.OeS6Cpe7G4 ++ cat /tmp/tmp.FQtmSoEyla ++ rm /tmp/tmp.OeS6Cpe7G4 /tmp/tmp.FQtmSoEyla ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.RVw5i7bVFw +++ mktemp ++ local LAST_ERR=/tmp/tmp.TCWHOrCjO9 ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.RVw5i7bVFw ++ cat /tmp/tmp.TCWHOrCjO9 ++ rm /tmp/tmp.RVw5i7bVFw /tmp/tmp.TCWHOrCjO9 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.42kBX2uy2i +++ mktemp ++ local LAST_ERR=/tmp/tmp.mviFE9ub9L ++ 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.42kBX2uy2i ++ cat /tmp/tmp.mviFE9ub9L ++ rm /tmp/tmp.42kBX2uy2i /tmp/tmp.mviFE9ub9L ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_user_cmd '"user-two"' ++ local 'user="user-two"' ++ cmd='(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-two + local database=admin + local 'command=(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-two + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' + egrep -v 'I NETWORK|W NETWORK|F 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:' ++ 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.rGGxXV4j8z +++ mktemp ++ local LAST_ERR=/tmp/tmp.syZ6o9kPdM ++ 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.rGGxXV4j8z ++ cat /tmp/tmp.syZ6o9kPdM ++ rm /tmp/tmp.rGGxXV4j8z /tmp/tmp.syZ6o9kPdM ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.mCcW3wJ5S3 ++ mktemp + local LAST_ERR=/tmp/tmp.MsUkS6G3Zc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mCcW3wJ5S3 + cat /tmp/tmp.MsUkS6G3Zc + rm /tmp/tmp.mCcW3wJ5S3 /tmp/tmp.MsUkS6G3Zc + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-two.json /tmp/tmp.bymKTNzsc9/user-two + userTwo=user-two ++ getSecretData user-two userTwoPassKey ++ local secretName=user-two ++ local dataKey=userTwoPassKey +++ kubectl get secrets/user-two '--template={{.data.userTwoPassKey}}' +++ base64 -d ++ local data=clusterMonitor ++ echo clusterMonitor + userTwoPass=clusterMonitor + check_auth user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' +++ 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.MMDMFE1Qco ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9jzUibIQQl +++ 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.MMDMFE1Qco +++ cat /tmp/tmp.9jzUibIQQl +++ rm /tmp/tmp.MMDMFE1Qco /tmp/tmp.9jzUibIQQl +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7h2p5t98EO +++ mktemp ++ local LAST_ERR=/tmp/tmp.m4FBJiddKX ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7h2p5t98EO ++ cat /tmp/tmp.m4FBJiddKX ++ rm /tmp/tmp.7h2p5t98EO /tmp/tmp.m4FBJiddKX ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + check_auth user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' +++ 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.5q1j67SarI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.EuKFIaWrs3 +++ 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.5q1j67SarI +++ cat /tmp/tmp.EuKFIaWrs3 +++ rm /tmp/tmp.5q1j67SarI /tmp/tmp.EuKFIaWrs3 +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.oqTEQ7kbXr +++ mktemp ++ local LAST_ERR=/tmp/tmp.i5rQVKYBym ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-one:clusterMonitor@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.oqTEQ7kbXr ++ cat /tmp/tmp.i5rQVKYBym ++ rm /tmp/tmp.oqTEQ7kbXr /tmp/tmp.i5rQVKYBym ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + desc 'check password change' + set +o xtrace ----------------------------------------------------------------------------------- check password change ----------------------------------------------------------------------------------- + userTwoNewPass=new-user-two-password ++ echo -n new-user-two-password ++ base64 + patch_secret user-two userTwoPassKey bmV3LXVzZXItdHdvLXBhc3N3b3Jk + local secret=user-two + local key=userTwoPassKey + local value=bmV3LXVzZXItdHdvLXBhc3N3b3Jk + kubectl patch secret user-two '-p={"data":{"userTwoPassKey": "bmV3LXVzZXItdHdvLXBhc3N3b3Jk"}}' secret/user-two patched + sleep 20 + check_auth user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ 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.3HDAypcv7C ++++ mktemp +++ local LAST_ERR=/tmp/tmp.aCLRNYIiy9 +++ 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.3HDAypcv7C +++ cat /tmp/tmp.aCLRNYIiy9 +++ rm /tmp/tmp.3HDAypcv7C /tmp/tmp.aCLRNYIiy9 +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.y5RkgTG8Ze +++ mktemp ++ local LAST_ERR=/tmp/tmp.DarbnyGMHF ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.y5RkgTG8Ze ++ cat /tmp/tmp.DarbnyGMHF ++ rm /tmp/tmp.y5RkgTG8Ze /tmp/tmp.DarbnyGMHF ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + desc 'check user roles update from CR' + set +o xtrace ----------------------------------------------------------------------------------- check user roles update from CR ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-two", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' ++ mktemp + local LAST_OUT=/tmp/tmp.FT3HzLd3AB ++ mktemp + local LAST_ERR=/tmp/tmp.fwqDzEQqlq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-two", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FT3HzLd3AB perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.fwqDzEQqlq + rm /tmp/tmp.FT3HzLd3AB /tmp/tmp.fwqDzEQqlq + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dhmIYuaZXP +++ mktemp ++ local LAST_ERR=/tmp/tmp.99tDwYgFz6 ++ 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.dhmIYuaZXP ++ cat /tmp/tmp.99tDwYgFz6 ++ rm /tmp/tmp.dhmIYuaZXP /tmp/tmp.99tDwYgFz6 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VBVEyIlmZ3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.zvhq6PoH3C ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VBVEyIlmZ3 ++ cat /tmp/tmp.zvhq6PoH3C ++ rm /tmp/tmp.VBVEyIlmZ3 /tmp/tmp.zvhq6PoH3C ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.CSTcFyexob +++ mktemp ++ local LAST_ERR=/tmp/tmp.yovNxSuikw ++ 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.CSTcFyexob ++ cat /tmp/tmp.yovNxSuikw ++ rm /tmp/tmp.CSTcFyexob /tmp/tmp.yovNxSuikw ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_user_cmd '"user-two"' ++ local 'user="user-two"' ++ cmd='(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-two-update-roles + local database=admin + local 'command=(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-two-update-roles + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + sed '/"userId"/d' + egrep -v 'I NETWORK|W NETWORK|F 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:' ++ 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 + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ local LAST_OUT=/tmp/tmp.egr4lcggKm +++ mktemp ++ local LAST_ERR=/tmp/tmp.g67lqA6o6j ++ 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.egr4lcggKm ++ cat /tmp/tmp.g67lqA6o6j ++ rm /tmp/tmp.egr4lcggKm /tmp/tmp.g67lqA6o6j ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.BpB1kYxejA ++ mktemp + local LAST_ERR=/tmp/tmp.FEhfSGItYn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BpB1kYxejA + cat /tmp/tmp.FEhfSGItYn + rm /tmp/tmp.BpB1kYxejA /tmp/tmp.FEhfSGItYn + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-two-update-roles.json /tmp/tmp.bymKTNzsc9/user-two-update-roles + desc 'check user roles update from DB' + set +o xtrace ----------------------------------------------------------------------------------- check user roles update from DB ----------------------------------------------------------------------------------- + run_mongos 'use admin\n db.updateUser("user-two", { roles : [{ role : "userAdminAnyDatabase", db: "admin"}]})' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local 'command=use admin\n db.updateUser("user-two", { roles : [{ role : "userAdminAnyDatabase", db: "admin"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.6XCCpyNWJK +++ mktemp ++ local LAST_ERR=/tmp/tmp.6XZcP1XXYq ++ 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.6XCCpyNWJK ++ cat /tmp/tmp.6XZcP1XXYq ++ rm /tmp/tmp.6XCCpyNWJK /tmp/tmp.6XZcP1XXYq ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.updateUser("user-two", { roles : [{ role : "userAdminAnyDatabase", db: "admin"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.1IvoZRAhDu ++ mktemp + local LAST_ERR=/tmp/tmp.IeDVmEhws3 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.updateUser("user-two", { roles : [{ role : "userAdminAnyDatabase", db: "admin"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1IvoZRAhDu Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("509049a3-45e0-48de-8fde-e84333031d56") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db admin bye + cat /tmp/tmp.IeDVmEhws3 + rm /tmp/tmp.1IvoZRAhDu /tmp/tmp.IeDVmEhws3 + return 0 + sleep 15 ++ get_user_cmd '"user-two"' ++ local 'user="user-two"' ++ cmd='(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-two-update-roles + local database=admin + local 'command=(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-two-update-roles + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local port=27017 + local mongo_bin=mongo + sed '/"userId"/d' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ 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.6kHD1eOaUL +++ mktemp ++ local LAST_ERR=/tmp/tmp.IgouRkP3Yg ++ 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.6kHD1eOaUL ++ cat /tmp/tmp.IgouRkP3Yg ++ rm /tmp/tmp.6kHD1eOaUL /tmp/tmp.IgouRkP3Yg ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.tY8ILCsdWN ++ mktemp + local LAST_ERR=/tmp/tmp.TfYqA1WQ7n + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tY8ILCsdWN + cat /tmp/tmp.TfYqA1WQ7n + rm /tmp/tmp.tY8ILCsdWN /tmp/tmp.TfYqA1WQ7n + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-two-update-roles.json /tmp/tmp.bymKTNzsc9/user-two-update-roles + desc 'check user recreated after deleted from DB' + set +o xtrace ----------------------------------------------------------------------------------- check user recreated after deleted from DB ----------------------------------------------------------------------------------- + run_mongos 'use admin\n db.dropUser("user-two")' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local 'command=use admin\n db.dropUser("user-two")' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.ATo1aSqQuq +++ mktemp ++ local LAST_ERR=/tmp/tmp.UJWfS0aU8O ++ 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.ATo1aSqQuq ++ cat /tmp/tmp.UJWfS0aU8O ++ rm /tmp/tmp.ATo1aSqQuq /tmp/tmp.UJWfS0aU8O ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.dropUser("user-two")\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.dICP6uZHMD ++ mktemp + local LAST_ERR=/tmp/tmp.HgTTJ3aYIa + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.dropUser("user-two")\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dICP6uZHMD Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("f6adae28-2a3c-4d1c-81c9-3cbc7651177e") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db admin true bye + cat /tmp/tmp.HgTTJ3aYIa + rm /tmp/tmp.dICP6uZHMD /tmp/tmp.HgTTJ3aYIa + return 0 + sleep 15 ++ get_user_cmd '"user-two"' ++ local 'user="user-two"' ++ cmd='(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-two-update-roles + local database=admin + local 'command=(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-two-update-roles + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.Ys6i016X6p +++ mktemp ++ local LAST_ERR=/tmp/tmp.wAdqyRhooQ ++ 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.Ys6i016X6p ++ cat /tmp/tmp.wAdqyRhooQ ++ rm /tmp/tmp.Ys6i016X6p /tmp/tmp.wAdqyRhooQ ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.KplwuauCNf ++ mktemp + local LAST_ERR=/tmp/tmp.BSQRX0Bbax + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KplwuauCNf + cat /tmp/tmp.BSQRX0Bbax + rm /tmp/tmp.KplwuauCNf /tmp/tmp.BSQRX0Bbax + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-two-update-roles.json /tmp/tmp.bymKTNzsc9/user-two-update-roles + desc 'check new user created after updated user name via CR' + set +o xtrace ----------------------------------------------------------------------------------- check new user created after updated user name via CR ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-three", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' ++ mktemp + local LAST_OUT=/tmp/tmp.qiDgdFGu3l ++ mktemp + local LAST_ERR=/tmp/tmp.c4AadydGPm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-three", "db":"admin", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qiDgdFGu3l perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.c4AadydGPm + rm /tmp/tmp.qiDgdFGu3l /tmp/tmp.c4AadydGPm + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Sz8F5erwUK +++ mktemp ++ local LAST_ERR=/tmp/tmp.n5rDwZTVxR ++ 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.Sz8F5erwUK ++ cat /tmp/tmp.n5rDwZTVxR ++ rm /tmp/tmp.Sz8F5erwUK /tmp/tmp.n5rDwZTVxR ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.v0MP2TMxA6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.O4zDJBzDM2 ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.v0MP2TMxA6 ++ cat /tmp/tmp.O4zDJBzDM2 ++ rm /tmp/tmp.v0MP2TMxA6 /tmp/tmp.O4zDJBzDM2 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sspG2WPGpA +++ mktemp ++ local LAST_ERR=/tmp/tmp.ygkM8h80G3 ++ 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.sspG2WPGpA ++ cat /tmp/tmp.ygkM8h80G3 ++ rm /tmp/tmp.sspG2WPGpA /tmp/tmp.ygkM8h80G3 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_user_cmd '"user-three"' ++ local 'user="user-three"' ++ cmd='(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-three-admin-db + local database=admin + local 'command=(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-three-admin-db + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local 'command=use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ echo .svc.cluster.local + sed '/"userId"/d' ++ 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.26PXbxBBHJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.WJJZlnBfMR ++ 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.26PXbxBBHJ ++ cat /tmp/tmp.WJJZlnBfMR ++ rm /tmp/tmp.26PXbxBBHJ /tmp/tmp.WJJZlnBfMR ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.VEMR2ZNFQ3 ++ mktemp + local LAST_ERR=/tmp/tmp.hEfp2XhgfO + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VEMR2ZNFQ3 + cat /tmp/tmp.hEfp2XhgfO + rm /tmp/tmp.VEMR2ZNFQ3 /tmp/tmp.hEfp2XhgfO + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-three-admin-db.json /tmp/tmp.bymKTNzsc9/user-three-admin-db ++ get_user_cmd '"user-two"' ++ local 'user="user-two"' ++ cmd='(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-two-update-roles + local database=admin + local 'command=(function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-two-update-roles + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + run_mongos 'use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.1xm5T2QNJr +++ mktemp ++ local LAST_ERR=/tmp/tmp.8J9WM8KZTf ++ 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.1xm5T2QNJr ++ cat /tmp/tmp.8J9WM8KZTf ++ rm /tmp/tmp.1xm5T2QNJr /tmp/tmp.8J9WM8KZTf ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.QwTxVXErUz ++ mktemp + local LAST_ERR=/tmp/tmp.z4DdYMvglm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-two"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QwTxVXErUz + cat /tmp/tmp.z4DdYMvglm + rm /tmp/tmp.QwTxVXErUz /tmp/tmp.z4DdYMvglm + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-two-update-roles.json /tmp/tmp.bymKTNzsc9/user-two-update-roles + check_auth user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local 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.anWjlZELJI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KP7zQr3fZ8 +++ 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.anWjlZELJI +++ cat /tmp/tmp.KP7zQr3fZ8 +++ rm /tmp/tmp.anWjlZELJI /tmp/tmp.KP7zQr3fZ8 +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hHXPfRDIMg +++ mktemp ++ local LAST_ERR=/tmp/tmp.NuntWIYUv4 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-two:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hHXPfRDIMg ++ cat /tmp/tmp.NuntWIYUv4 ++ rm /tmp/tmp.hHXPfRDIMg /tmp/tmp.NuntWIYUv4 ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + check_auth user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 + local uri=user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ run_mongos 'db.runCommand({ ping: 1 }).ok' user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 '' '' --quiet ++ local 'command=db.runCommand({ ping: 1 }).ok' ++ local uri=user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195 ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ local mongo_flag=--quiet ++ local port=27017 ++ local mongo_bin=mongo ++ egrep -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' +++ 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.R2m0UBCBRU ++++ mktemp +++ local LAST_ERR=/tmp/tmp.qp5RDvsiM1 +++ 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.R2m0UBCBRU +++ cat /tmp/tmp.qp5RDvsiM1 +++ rm /tmp/tmp.R2m0UBCBRU /tmp/tmp.qp5RDvsiM1 +++ return 0 ++ local client_container=psmdb-client-66f577db5f-wnxvm ++ kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hYn3psTzKp +++ mktemp ++ local LAST_ERR=/tmp/tmp.JohPXOxWcE ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''db.runCommand({ ping: 1 }).ok\n'\'' | mongo mongodb://user-three:new-user-two-password@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hYn3psTzKp ++ cat /tmp/tmp.JohPXOxWcE ++ rm /tmp/tmp.hYn3psTzKp /tmp/tmp.JohPXOxWcE ++ return 0 + ping=1 + desc 'ping return' + set +o xtrace ----------------------------------------------------------------------------------- ping return ----------------------------------------------------------------------------------- + '[' 1 '!=' 1 ']' + desc 'check new user created after updated user db via CR' + set +o xtrace ----------------------------------------------------------------------------------- check new user created after updated user db via CR ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-three", "db":"newDb", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' ++ mktemp + local LAST_OUT=/tmp/tmp.wn6063xs85 ++ mktemp + local LAST_ERR=/tmp/tmp.yYA1pl9O3C + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-three", "db":"newDb", "passwordSecretRef": { "name": "user-two", "key": "userTwoPassKey" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wn6063xs85 perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.yYA1pl9O3C + rm /tmp/tmp.wn6063xs85 /tmp/tmp.yYA1pl9O3C + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6OP9NPq8H0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CDtPl0qQun ++ 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.6OP9NPq8H0 ++ cat /tmp/tmp.CDtPl0qQun ++ rm /tmp/tmp.6OP9NPq8H0 /tmp/tmp.CDtPl0qQun ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FapFcwdrxP +++ mktemp ++ local LAST_ERR=/tmp/tmp.5M6jebGqUU ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FapFcwdrxP ++ cat /tmp/tmp.5M6jebGqUU ++ rm /tmp/tmp.FapFcwdrxP /tmp/tmp.5M6jebGqUU ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.v65TZHjCHH +++ mktemp ++ local LAST_ERR=/tmp/tmp.o1m6yG7ENE ++ 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.v65TZHjCHH ++ cat /tmp/tmp.o1m6yG7ENE ++ rm /tmp/tmp.v65TZHjCHH /tmp/tmp.o1m6yG7ENE ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_user_cmd '"user-three"' ++ local 'user="user-three"' ++ cmd='(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare newDb '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-three-newDb-db + local database=newDb + local 'command=(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-three-newDb-db + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use newDb\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use newDb\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' ++ 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.X2b8JQhciz +++ mktemp ++ local LAST_ERR=/tmp/tmp.X6CnkCwROP ++ 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.X2b8JQhciz ++ cat /tmp/tmp.X6CnkCwROP ++ rm /tmp/tmp.X2b8JQhciz /tmp/tmp.X6CnkCwROP ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use newDb\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.HNAHYsdj0d ++ mktemp + local LAST_ERR=/tmp/tmp.WEf2yjEqvo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use newDb\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HNAHYsdj0d + cat /tmp/tmp.WEf2yjEqvo + rm /tmp/tmp.HNAHYsdj0d /tmp/tmp.WEf2yjEqvo + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-three-newDb-db.json /tmp/tmp.bymKTNzsc9/user-three-newDb-db ++ get_user_cmd '"user-three"' ++ local 'user="user-three"' ++ cmd='(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-three-admin-db + local database=admin + local 'command=(function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-three-admin-db + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local 'command=use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + sed '/"userId"/d' + 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.ZeWRtJVEVa +++ mktemp ++ local LAST_ERR=/tmp/tmp.ikvDM0f7Nu ++ 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.ZeWRtJVEVa ++ cat /tmp/tmp.ikvDM0f7Nu ++ rm /tmp/tmp.ZeWRtJVEVa /tmp/tmp.ikvDM0f7Nu ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.wNF2COXpXh ++ mktemp + local LAST_ERR=/tmp/tmp.vvSyXJCBoc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-three"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wNF2COXpXh + cat /tmp/tmp.vvSyXJCBoc + rm /tmp/tmp.wNF2COXpXh /tmp/tmp.vvSyXJCBoc + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-three-admin-db.json /tmp/tmp.bymKTNzsc9/user-three-admin-db + desc 'check new user created with default db and secret password key' + set +o xtrace ----------------------------------------------------------------------------------- check new user created with default db and secret password key ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-four", "passwordSecretRef": { "name": "user-two" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' ++ mktemp + local LAST_OUT=/tmp/tmp.l4bo7HZACE ++ mktemp + local LAST_ERR=/tmp/tmp.muaDouAqRf + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"users":[ { "name":"user-four", "passwordSecretRef": { "name": "user-two" }, "roles": [ {"db":"admin","name":"clusterAdmin"} ] } ]} }' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.l4bo7HZACE perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.muaDouAqRf + rm /tmp/tmp.l4bo7HZACE /tmp/tmp.muaDouAqRf + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HbexvMehkj +++ mktemp ++ local LAST_ERR=/tmp/tmp.jUaTiKtkNO ++ 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.HbexvMehkj ++ cat /tmp/tmp.jUaTiKtkNO ++ rm /tmp/tmp.HbexvMehkj /tmp/tmp.jUaTiKtkNO ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xXQhWT0n4V +++ mktemp ++ local LAST_ERR=/tmp/tmp.nQe2a27GIr ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xXQhWT0n4V ++ cat /tmp/tmp.nQe2a27GIr ++ rm /tmp/tmp.xXQhWT0n4V /tmp/tmp.nQe2a27GIr ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Kg9nC0SvG5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WPV3X3YGyT ++ 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.Kg9nC0SvG5 ++ cat /tmp/tmp.WPV3X3YGyT ++ rm /tmp/tmp.Kg9nC0SvG5 /tmp/tmp.WPV3X3YGyT ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_user_cmd '"user-four"' ++ local 'user="user-four"' ++ cmd='(function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare admin '(function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-four + local database=admin + local 'command=(function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-four + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local 'command=use admin\n (function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.WDtQI97CKu +++ mktemp ++ local LAST_ERR=/tmp/tmp.q2KV99CznL ++ 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.WDtQI97CKu ++ cat /tmp/tmp.q2KV99CznL ++ rm /tmp/tmp.WDtQI97CKu /tmp/tmp.q2KV99CznL ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ajsx3DJ9uk ++ mktemp + local LAST_ERR=/tmp/tmp.ZKJnEXtn3O + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var user = db.getUser("user-four"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ajsx3DJ9uk + cat /tmp/tmp.ZKJnEXtn3O + rm /tmp/tmp.ajsx3DJ9uk /tmp/tmp.ZKJnEXtn3O + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-four.json /tmp/tmp.bymKTNzsc9/user-four + desc 'check user role on cluster initialization' + set +o xtrace ----------------------------------------------------------------------------------- check user role on cluster initialization ----------------------------------------------------------------------------------- ++ get_role_cmd '"role-one"' ++ local 'role="role-one"' ++ cmd='(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-one + local database=admin + local 'command=(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-one + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' + run_mongos 'use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.tT4mTF5yZp +++ mktemp ++ local LAST_ERR=/tmp/tmp.fP4Rwt3IUZ ++ 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.tT4mTF5yZp ++ cat /tmp/tmp.fP4Rwt3IUZ ++ rm /tmp/tmp.tT4mTF5yZp /tmp/tmp.fP4Rwt3IUZ ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.PxMAwwWdUs ++ mktemp + local LAST_ERR=/tmp/tmp.9YCst2x5wu + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PxMAwwWdUs + cat /tmp/tmp.9YCst2x5wu + rm /tmp/tmp.PxMAwwWdUs /tmp/tmp.9YCst2x5wu + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-one.json /tmp/tmp.bymKTNzsc9/role-one + desc 'check role recreated after deleted from DB' + set +o xtrace ----------------------------------------------------------------------------------- check role recreated after deleted from DB ----------------------------------------------------------------------------------- + run_mongos 'use admin\n db.dropRole("role-one")' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local 'command=use admin\n db.dropRole("role-one")' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.8wPtWl07xf +++ mktemp ++ local LAST_ERR=/tmp/tmp.JrwgsS2ZzX ++ 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.8wPtWl07xf ++ cat /tmp/tmp.JrwgsS2ZzX ++ rm /tmp/tmp.8wPtWl07xf /tmp/tmp.JrwgsS2ZzX ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.dropRole("role-one")\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.R1rs86dPN5 ++ mktemp + local LAST_ERR=/tmp/tmp.iG8nwU1kfg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.dropRole("role-one")\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.R1rs86dPN5 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("f84043c2-86a9-4a9b-bdf1-ea5ba4bbfc17") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db admin true bye + cat /tmp/tmp.iG8nwU1kfg + rm /tmp/tmp.R1rs86dPN5 /tmp/tmp.iG8nwU1kfg + return 0 + sleep 15 ++ get_role_cmd '"role-one"' ++ local 'role="role-one"' ++ cmd='(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-one + local database=admin + local 'command=(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-one + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' + egrep -v 'I NETWORK|W NETWORK|F 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:' ++ 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.xS6ivbcKgm +++ mktemp ++ local LAST_ERR=/tmp/tmp.tptU7Anjbe ++ 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.xS6ivbcKgm ++ cat /tmp/tmp.tptU7Anjbe ++ rm /tmp/tmp.xS6ivbcKgm /tmp/tmp.tptU7Anjbe ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.sDj2JhXuIn ++ mktemp + local LAST_ERR=/tmp/tmp.Yb7w5GCK7s + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sDj2JhXuIn + cat /tmp/tmp.Yb7w5GCK7s + rm /tmp/tmp.sDj2JhXuIn /tmp/tmp.Yb7w5GCK7s + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-one.json /tmp/tmp.bymKTNzsc9/role-one + desc 'delete initial role from CR and create a new one' + set +o xtrace ----------------------------------------------------------------------------------- delete initial role from CR and create a new one ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-two", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ], "roles": [ { "role": "read", "db": "admin" } ] } ] }}' ++ mktemp + local LAST_OUT=/tmp/tmp.mudarYUQjl ++ mktemp + local LAST_ERR=/tmp/tmp.BWu0A1UOuH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-two", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ], "roles": [ { "role": "read", "db": "admin" } ] } ] }}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.mudarYUQjl perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.BWu0A1UOuH + rm /tmp/tmp.mudarYUQjl /tmp/tmp.BWu0A1UOuH + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.l0cuIFvS2h +++ mktemp ++ local LAST_ERR=/tmp/tmp.3s1SW6Pieb ++ 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.l0cuIFvS2h ++ cat /tmp/tmp.3s1SW6Pieb ++ rm /tmp/tmp.l0cuIFvS2h /tmp/tmp.3s1SW6Pieb ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pBvDJGdt4f +++ mktemp ++ local LAST_ERR=/tmp/tmp.pb0lu1peZ2 ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pBvDJGdt4f ++ cat /tmp/tmp.pb0lu1peZ2 ++ rm /tmp/tmp.pBvDJGdt4f /tmp/tmp.pb0lu1peZ2 ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4462oAqPlv +++ mktemp ++ local LAST_ERR=/tmp/tmp.91ARyyjdAt ++ 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.4462oAqPlv ++ cat /tmp/tmp.91ARyyjdAt ++ rm /tmp/tmp.4462oAqPlv /tmp/tmp.91ARyyjdAt ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_role_cmd '"role-one"' ++ local 'role="role-one"' ++ cmd='(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-one + local database=admin + local 'command=(function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-one + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + sed '/"userId"/d' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + egrep -v 'I NETWORK|W NETWORK|F 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:' ++ 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.UFK7zh4eBo +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vk9UTPJ7Ih ++ 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.UFK7zh4eBo ++ cat /tmp/tmp.Vk9UTPJ7Ih ++ rm /tmp/tmp.UFK7zh4eBo /tmp/tmp.Vk9UTPJ7Ih ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Txf3JBPXic ++ mktemp + local LAST_ERR=/tmp/tmp.gOBJp5j4MN + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-one", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Txf3JBPXic + cat /tmp/tmp.gOBJp5j4MN + rm /tmp/tmp.Txf3JBPXic /tmp/tmp.gOBJp5j4MN + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-one.json /tmp/tmp.bymKTNzsc9/role-one ++ get_role_cmd '"role-two"' ++ local 'role="role-two"' ++ cmd='(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-two + local database=admin + local 'command=(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-two + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' ++ 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.BqE0M4iGx5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.RAqXSnLpft ++ 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.BqE0M4iGx5 ++ cat /tmp/tmp.RAqXSnLpft ++ rm /tmp/tmp.BqE0M4iGx5 /tmp/tmp.RAqXSnLpft ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.yWlAJbiFaU ++ mktemp + local LAST_ERR=/tmp/tmp.AiqdHhtlNq + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.yWlAJbiFaU + cat /tmp/tmp.AiqdHhtlNq + rm /tmp/tmp.yWlAJbiFaU /tmp/tmp.AiqdHhtlNq + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-two.json /tmp/tmp.bymKTNzsc9/role-two + desc 'check role update from CR' + set +o xtrace ----------------------------------------------------------------------------------- check role update from CR ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-two", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ] } ] }}' ++ mktemp + local LAST_OUT=/tmp/tmp.jozoPCFFBq ++ mktemp + local LAST_ERR=/tmp/tmp.52DhUXPUrJ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-two", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ] } ] }}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jozoPCFFBq perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.52DhUXPUrJ + rm /tmp/tmp.jozoPCFFBq /tmp/tmp.52DhUXPUrJ + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.O5H7MPdJ8y +++ mktemp ++ local LAST_ERR=/tmp/tmp.dM1qYRy088 ++ 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.O5H7MPdJ8y ++ cat /tmp/tmp.dM1qYRy088 ++ rm /tmp/tmp.O5H7MPdJ8y /tmp/tmp.dM1qYRy088 ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EINVovXM6b +++ mktemp ++ local LAST_ERR=/tmp/tmp.LPGjZcvZYA ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EINVovXM6b ++ cat /tmp/tmp.LPGjZcvZYA ++ rm /tmp/tmp.EINVovXM6b /tmp/tmp.LPGjZcvZYA ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ma4GYAebYe +++ mktemp ++ local LAST_ERR=/tmp/tmp.OUr99L03Nf ++ 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.ma4GYAebYe ++ cat /tmp/tmp.OUr99L03Nf ++ rm /tmp/tmp.ma4GYAebYe /tmp/tmp.OUr99L03Nf ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_role_cmd '"role-two"' ++ local 'role="role-two"' ++ cmd='(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-two-updated + local database=admin + local 'command=(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-two-updated + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' ++ 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.kYD8Cso78q +++ mktemp ++ local LAST_ERR=/tmp/tmp.ahHeiQ0zVp ++ 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.kYD8Cso78q ++ cat /tmp/tmp.ahHeiQ0zVp ++ rm /tmp/tmp.kYD8Cso78q /tmp/tmp.ahHeiQ0zVp ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.pGCumeB9CK ++ mktemp + local LAST_ERR=/tmp/tmp.o5b0QdNanD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pGCumeB9CK + cat /tmp/tmp.o5b0QdNanD + rm /tmp/tmp.pGCumeB9CK /tmp/tmp.o5b0QdNanD + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-two-updated.json /tmp/tmp.bymKTNzsc9/role-two-updated + desc 'check role update from DB' + set +o xtrace ----------------------------------------------------------------------------------- check role update from DB ----------------------------------------------------------------------------------- + run_mongos 'use admin\n db.updateRole( "role-two",{privileges:[{resource: {db:"config", collection:"" }, actions: ["find", "update"]}]})' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local 'command=use admin\n db.updateRole( "role-two",{privileges:[{resource: {db:"config", collection:"" }, actions: ["find", "update"]}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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.1sXDZwY32t +++ mktemp ++ local LAST_ERR=/tmp/tmp.JhmYATneKY ++ 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.1sXDZwY32t ++ cat /tmp/tmp.JhmYATneKY ++ rm /tmp/tmp.1sXDZwY32t /tmp/tmp.JhmYATneKY ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.updateRole( "role-two",{privileges:[{resource: {db:"config", collection:"" }, actions: ["find", "update"]}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.RDrJh8Hxdp ++ mktemp + local LAST_ERR=/tmp/tmp.0wcSZbJhSB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n db.updateRole( "role-two",{privileges:[{resource: {db:"config", collection:"" }, actions: ["find", "update"]}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RDrJh8Hxdp Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("29501966-62c7-4d3b-839f-b0a76622a1a7") } Percona Server for MongoDB server version: v7.0.18-11 WARNING: shell and server versions do not match switched to db admin bye + cat /tmp/tmp.0wcSZbJhSB + rm /tmp/tmp.RDrJh8Hxdp /tmp/tmp.0wcSZbJhSB + return 0 + sleep 15 ++ get_role_cmd '"role-two"' ++ local 'role="role-two"' ++ cmd='(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-two-updated + local database=admin + local 'command=(function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-two-updated + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + run_mongos 'use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.OrWaNq7lhO +++ mktemp ++ local LAST_ERR=/tmp/tmp.CIfA2MQnLb ++ 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.OrWaNq7lhO ++ cat /tmp/tmp.CIfA2MQnLb ++ rm /tmp/tmp.OrWaNq7lhO /tmp/tmp.CIfA2MQnLb ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.0ltqjSADav ++ mktemp + local LAST_ERR=/tmp/tmp.5ZTE4Yayke + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-two", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.0ltqjSADav + cat /tmp/tmp.5ZTE4Yayke + rm /tmp/tmp.0ltqjSADav /tmp/tmp.5ZTE4Yayke + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-two-updated.json /tmp/tmp.bymKTNzsc9/role-two-updated + desc 'check new role created after updated role name via CR' + set +o xtrace ----------------------------------------------------------------------------------- check new role created after updated role name via CR ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-three", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ] } ] }}' ++ mktemp + local LAST_OUT=/tmp/tmp.3V2p2Ye6Zs ++ mktemp + local LAST_ERR=/tmp/tmp.9AN11UbyWD + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": {"roles":[ { "role": "role-three", "db": "admin", "privileges": [ { "resource": { "db": "config", "collection": "" }, "actions": [ "find" ] } ] } ] }}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3V2p2Ye6Zs perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.9AN11UbyWD + rm /tmp/tmp.3V2p2Ye6Zs /tmp/tmp.9AN11UbyWD + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bmVcyvUwqL +++ mktemp ++ local LAST_ERR=/tmp/tmp.FMLx3tq2ue ++ 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.bmVcyvUwqL ++ cat /tmp/tmp.FMLx3tq2ue ++ rm /tmp/tmp.bmVcyvUwqL /tmp/tmp.FMLx3tq2ue ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kvvwplyXGT +++ mktemp ++ local LAST_ERR=/tmp/tmp.QRqBysSOFE ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kvvwplyXGT ++ cat /tmp/tmp.QRqBysSOFE ++ rm /tmp/tmp.kvvwplyXGT /tmp/tmp.QRqBysSOFE ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cFUKOaufIp +++ mktemp ++ local LAST_ERR=/tmp/tmp.vqwpBKzBUn ++ 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.cFUKOaufIp ++ cat /tmp/tmp.vqwpBKzBUn ++ rm /tmp/tmp.cFUKOaufIp /tmp/tmp.vqwpBKzBUn ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_role_cmd '"role-three"' ++ local 'role="role-three"' ++ cmd='(function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare admin '(function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-three + local database=admin + local 'command=(function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-three + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + run_mongos 'use admin\n (function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use admin\n (function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' ++ 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.5aQewiK7fv +++ mktemp ++ local LAST_ERR=/tmp/tmp.QLLc3A6baO ++ 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.5aQewiK7fv ++ cat /tmp/tmp.QLLc3A6baO ++ rm /tmp/tmp.5aQewiK7fv /tmp/tmp.QLLc3A6baO ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.wfJotgtUWv ++ mktemp + local LAST_ERR=/tmp/tmp.yvgsJfHKPv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use admin\n (function() { var role = db.getRole("role-three", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wfJotgtUWv + cat /tmp/tmp.yvgsJfHKPv + rm /tmp/tmp.wfJotgtUWv /tmp/tmp.yvgsJfHKPv + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-three.json /tmp/tmp.bymKTNzsc9/role-three + desc 'check creating multiple roles and the users in a single CR apply' + set +o xtrace ----------------------------------------------------------------------------------- check creating multiple roles and the users in a single CR apply ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge --patch '{ "spec": { "roles": [ { "role": "role-four", "db": "testAdmin1", "privileges": [ { "resource": { "db": "testAdmin1", "collection": "" }, "actions": [ "find", "listIndexes", "listCollections" ] }, { "resource": { "db": "testAdmin1", "collection": "system.profile" }, "actions": [ "dbStats", "collStats", "indexStats" ] }, { "resource": { "db": "testAdmin1", "collection": "system.version" }, "actions": [ "find" ] } ] }, { "role": "role-five", "db": "testAdmin2", "privileges": [ { "resource": { "db": "testAdmin2", "collection": "" }, "actions": [ "find", "listIndexes", "listCollections" ] }, { "resource": { "db": "testAdmin2", "collection": "system.profile" }, "actions": [ "dbStats", "collStats", "indexStats" ] }, { "resource": { "db": "testAdmin2", "collection": "system.version" }, "actions": [ "find" ] } ] } ], "users": [ { "name": "user-five", "db": "testAdmin", "passwordSecretRef": { "name": "user-one", "key": "userOnePassKey" }, "roles": [ { "name": "role-four", "db": "testAdmin1" }, { "name": "role-five", "db": "testAdmin2" } ] }, { "name": "user-six", "db": "testAdmin", "passwordSecretRef": { "name": "user-one", "key": "userOnePassKey" }, "roles": [ { "name": "role-five", "db": "testAdmin2" } ] } ] }}' ++ mktemp + local LAST_OUT=/tmp/tmp.hIfmjGsIeC ++ mktemp + local LAST_ERR=/tmp/tmp.aZJtg4eo3k + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type=merge --patch '{ "spec": { "roles": [ { "role": "role-four", "db": "testAdmin1", "privileges": [ { "resource": { "db": "testAdmin1", "collection": "" }, "actions": [ "find", "listIndexes", "listCollections" ] }, { "resource": { "db": "testAdmin1", "collection": "system.profile" }, "actions": [ "dbStats", "collStats", "indexStats" ] }, { "resource": { "db": "testAdmin1", "collection": "system.version" }, "actions": [ "find" ] } ] }, { "role": "role-five", "db": "testAdmin2", "privileges": [ { "resource": { "db": "testAdmin2", "collection": "" }, "actions": [ "find", "listIndexes", "listCollections" ] }, { "resource": { "db": "testAdmin2", "collection": "system.profile" }, "actions": [ "dbStats", "collStats", "indexStats" ] }, { "resource": { "db": "testAdmin2", "collection": "system.version" }, "actions": [ "find" ] } ] } ], "users": [ { "name": "user-five", "db": "testAdmin", "passwordSecretRef": { "name": "user-one", "key": "userOnePassKey" }, "roles": [ { "name": "role-four", "db": "testAdmin1" }, { "name": "role-five", "db": "testAdmin2" } ] }, { "name": "user-six", "db": "testAdmin", "passwordSecretRef": { "name": "user-one", "key": "userOnePassKey" }, "roles": [ { "name": "role-five", "db": "testAdmin2" } ] } ] }}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hIfmjGsIeC perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.aZJtg4eo3k + rm /tmp/tmp.hIfmjGsIeC /tmp/tmp.aZJtg4eo3k + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8hMiBdZGUT +++ mktemp ++ local LAST_ERR=/tmp/tmp.qsdLAORVqM ++ 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.8hMiBdZGUT ++ cat /tmp/tmp.qsdLAORVqM ++ rm /tmp/tmp.8hMiBdZGUT /tmp/tmp.qsdLAORVqM ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8cE2EIph2X +++ mktemp ++ local LAST_ERR=/tmp/tmp.8HhzwpjWGN ++ 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")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8cE2EIph2X ++ cat /tmp/tmp.8HhzwpjWGN ++ rm /tmp/tmp.8cE2EIph2X /tmp/tmp.8HhzwpjWGN ++ return 0 + [[ '' == \t\r\u\e ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aHPbsaiZqi +++ mktemp ++ local LAST_ERR=/tmp/tmp.VyAcoOk1Cr ++ 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.aHPbsaiZqi ++ cat /tmp/tmp.VyAcoOk1Cr ++ rm /tmp/tmp.aHPbsaiZqi /tmp/tmp.VyAcoOk1Cr ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness ++ get_role_cmd '"role-four"' ++ local 'role="role-four"' ++ cmd='(function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare testAdmin1 '(function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-four + local database=testAdmin1 + local 'command=(function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-four + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + run_mongos 'use testAdmin1\n (function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use testAdmin1\n (function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + egrep -v 'I NETWORK|W NETWORK|F NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + sed '/"userId"/d' ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.w3T5cyb9ra +++ mktemp ++ local LAST_ERR=/tmp/tmp.DbGQJRTqw9 ++ 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.w3T5cyb9ra ++ cat /tmp/tmp.DbGQJRTqw9 ++ rm /tmp/tmp.w3T5cyb9ra /tmp/tmp.DbGQJRTqw9 ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin1\n (function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.KtaLBT7VF3 ++ mktemp + local LAST_ERR=/tmp/tmp.kGUeZEuvPY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin1\n (function() { var role = db.getRole("role-four", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KtaLBT7VF3 + cat /tmp/tmp.kGUeZEuvPY + rm /tmp/tmp.KtaLBT7VF3 /tmp/tmp.kGUeZEuvPY + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-four.json /tmp/tmp.bymKTNzsc9/role-four ++ get_role_cmd '"role-five"' ++ local 'role="role-five"' ++ cmd='(function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' ++ echo '(function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + compare testAdmin2 '(function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 role-five + local database=testAdmin2 + local 'command=(function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=role-five + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + run_mongos 'use testAdmin2\n (function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use testAdmin2\n (function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + sed '/"userId"/d' ++ 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.zYzyW2TsPw +++ mktemp ++ local LAST_ERR=/tmp/tmp.NDgKzjaWDM ++ 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.zYzyW2TsPw ++ cat /tmp/tmp.NDgKzjaWDM ++ rm /tmp/tmp.zYzyW2TsPw /tmp/tmp.NDgKzjaWDM ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin2\n (function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.tsw2hsP88N ++ mktemp + local LAST_ERR=/tmp/tmp.aCX73YPLXE + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin2\n (function() { var role = db.getRole("role-five", {showPrivileges: true, showAuthenticationRestrictions: true}); var roles = role.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); role.roles = roles; printjson(role); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tsw2hsP88N + cat /tmp/tmp.aCX73YPLXE + rm /tmp/tmp.tsw2hsP88N /tmp/tmp.aCX73YPLXE + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/role-five.json /tmp/tmp.bymKTNzsc9/role-five ++ get_user_cmd '"user-five"' ++ local 'user="user-five"' ++ cmd='(function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare testAdmin '(function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-five + local database=testAdmin + local 'command=(function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-five + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + run_mongos 'use testAdmin\n (function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use testAdmin\n (function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + 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.Si8QYe4cma +++ mktemp ++ local LAST_ERR=/tmp/tmp.HlJYVBatqI ++ 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.Si8QYe4cma ++ cat /tmp/tmp.HlJYVBatqI ++ rm /tmp/tmp.Si8QYe4cma /tmp/tmp.HlJYVBatqI ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin\n (function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.TsDHJzgHTD ++ mktemp + local LAST_ERR=/tmp/tmp.uw3baT8JiI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin\n (function() { var user = db.getUser("user-five"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.TsDHJzgHTD + cat /tmp/tmp.uw3baT8JiI + rm /tmp/tmp.TsDHJzgHTD /tmp/tmp.uw3baT8JiI + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-five.json /tmp/tmp.bymKTNzsc9/user-five ++ get_user_cmd '"user-six"' ++ local 'user="user-six"' ++ cmd='(function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' ++ echo '(function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + compare testAdmin '(function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 user-six + local database=testAdmin + local 'command=(function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + local target=user-six + [[ perconalab/percona-server-mongodb-operator:main-mongod7.0 =~ 5\.0 ]] + egrep -v 'I NETWORK|W NETWORK|F 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:' + sed '/"userId"/d' + run_mongos 'use testAdmin\n (function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 mongodb + local 'command=use testAdmin\n (function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();' + local uri=userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195 + 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}' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxxesvc/' + 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.vkJhNgrc8S +++ mktemp ++ local LAST_ERR=/tmp/tmp.oaNUax7eEV ++ 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.vkJhNgrc8S ++ cat /tmp/tmp.oaNUax7eEV ++ rm /tmp/tmp.vkJhNgrc8S /tmp/tmp.oaNUax7eEV ++ return 0 + local client_container=psmdb-client-66f577db5f-wnxvm + kubectl_bin exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin\n (function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.VejgxowzDo ++ mktemp + local LAST_ERR=/tmp/tmp.X3Q8jCghbi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-66f577db5f-wnxvm -- bash -c 'printf '\''use testAdmin\n (function() { var user = db.getUser("user-six"); var roles = user.roles; roles.sort((a, b) => { if (a.role < b.role) return -1; if (a.role > b.role) return 1; return 0; }); user.roles = roles; printjson(user); })();\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.custom-users-roles-sharded-10195.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VejgxowzDo + cat /tmp/tmp.X3Q8jCghbi + rm /tmp/tmp.VejgxowzDo /tmp/tmp.X3Q8jCghbi + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/e2e-tests/custom-users-roles-sharded/compare/user-six.json /tmp/tmp.bymKTNzsc9/user-six + destroy custom-users-roles-sharded-10195 + local namespace=custom-users-roles-sharded-10195 + local ignore_logs=true + [[ 0 == 1 ]] + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false ']' + delete_backups + desc 'Delete psmdb-backup' + set +o xtrace ----------------------------------------------------------------------------------- Delete psmdb-backup ----------------------------------------------------------------------------------- ++ kubectl_bin get psmdb-backup --no-headers ++ wc -l +++ mktemp ++ local LAST_OUT=/tmp/tmp.pu8vNIiGDh +++ mktemp ++ local LAST_ERR=/tmp/tmp.iPq5YIbNlv ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb-backup --no-headers ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pu8vNIiGDh ++ cat /tmp/tmp.iPq5YIbNlv No resources found in custom-users-roles-sharded-10195 namespace. ++ rm /tmp/tmp.pu8vNIiGDh /tmp/tmp.iPq5YIbNlv ++ return 0 + '[' 0 '!=' 0 ']' + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.kbQ68EwFlC ++ mktemp + local LAST_ERR=/tmp/tmp.B5FaeEjLCK + 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-1926/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kbQ68EwFlC customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.B5FaeEjLCK + rm /tmp/tmp.kbQ68EwFlC /tmp/tmp.B5FaeEjLCK + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/crd.yaml ++ grep -v '\-\-\-' + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.vJtckXzuDP ++ mktemp + local LAST_ERR=/tmp/tmp.Mayj3HBp0j + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vJtckXzuDP + cat /tmp/tmp.Mayj3HBp0j + rm /tmp/tmp.vJtckXzuDP /tmp/tmp.Mayj3HBp0j + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.edCeHCUeLP ++ mktemp + local LAST_ERR=/tmp/tmp.UeIyxa90wM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.edCeHCUeLP + cat /tmp/tmp.UeIyxa90wM + rm /tmp/tmp.edCeHCUeLP /tmp/tmp.UeIyxa90wM + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' No resources found + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: resource(s) were provided, but no name was specified + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.J1KG7mdwAa ++ mktemp + local LAST_ERR=/tmp/tmp.vbQ1bDXWSt + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.J1KG7mdwAa + cat /tmp/tmp.vbQ1bDXWSt + rm /tmp/tmp.J1KG7mdwAa /tmp/tmp.vbQ1bDXWSt + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1926/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.2xlBj4DuKe ++ mktemp + local LAST_ERR=/tmp/tmp.umknEEWiTK + 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-1926/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2xlBj4DuKe clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.umknEEWiTK + rm /tmp/tmp.2xlBj4DuKe /tmp/tmp.umknEEWiTK + return 0 + destroy_cert_manager + kubectl_bin delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.sdhzHRM1Lo ++ mktemp + local LAST_ERR=/tmp/tmp.jEVcTV8F7Q + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.sdhzHRM1Lo + cat /tmp/tmp.jEVcTV8F7Q Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": namespaces "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificaterequests.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificates.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "challenges.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "clusterissuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "issuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "orders.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cluster-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-edit" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": mutatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": validatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found + sleep 0 + for i in '$(seq 0 2)' + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.sdhzHRM1Lo + cat /tmp/tmp.jEVcTV8F7Q Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": namespaces "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificaterequests.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificates.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "challenges.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "clusterissuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "issuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "orders.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cluster-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-edit" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": mutatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": validatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found + sleep 4 + for i in '$(seq 0 2)' + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.sdhzHRM1Lo + cat /tmp/tmp.jEVcTV8F7Q Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": namespaces "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificaterequests.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificates.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "challenges.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "clusterissuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "issuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "orders.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cluster-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-edit" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": mutatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": validatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found + sleep 8 + cat /tmp/tmp.sdhzHRM1Lo + cat /tmp/tmp.jEVcTV8F7Q Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": namespaces "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificaterequests.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "certificates.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "challenges.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "clusterissuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "issuers.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": customresourcedefinitions.apiextensions.k8s.io "orders.acme.cert-manager.io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": serviceaccounts "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-cluster-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-view" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-edit" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterroles.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-issuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificates" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-orders" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-challenges" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": clusterrolebindings.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": roles.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager:leaderelection" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-cert-manager-tokenrequest" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": rolebindings.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": services "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-cainjector" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": deployments.apps "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": mutatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found Error from server (NotFound): error when deleting "https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml": validatingwebhookconfigurations.admissionregistration.k8s.io "cert-manager-webhook" not found + rm /tmp/tmp.sdhzHRM1Lo /tmp/tmp.jEVcTV8F7Q + return 1 + true + '[' -n '' ']' + '[' -n psmdb-operator ']' + rm -rf /tmp/tmp.bymKTNzsc9 + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator + kubectl_bin delete --grace-period=0 --force=true namespace custom-users-roles-sharded-10195 ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.CswgbBgwfm + desc 'test passed' + local LAST_OUT=/tmp/tmp.Pe9CGAriiM + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.fwxjBSrGTn + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.vioh2wsP3k + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete --grace-period=0 --force=true namespace custom-users-roles-sharded-10195 + for i in '$(seq 0 2)' + set +e + kubectl delete --grace-period=0 --force=true namespace psmdb-operator