++ echo 'Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/logs/multi-cluster-service.log' Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/logs/multi-cluster-service.log ++ '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/cloud-secret.yml ']' ++ SKIP_BACKUPS_TO_AWS_GCP_AZURE= ++ oc get projects ++ kubectl get nodes ++ grep '^minikube' +++ jq -r .serverVersion.gitVersion +++ grep '\-eks\-' +++ kubectl version -o json ++ '[' ']' ++ EKS=0 +++ jq -r .serverVersion.gitVersion +++ grep gke +++ kubectl version -o json ++ '[' v1.24.17-gke.1963000 ']' ++ GKE=1 +++ kubectl version -o json +++ jq -r '.serverVersion.major + "." + .serverVersion.minor' +++ /usr/bin/sed -r 's/[^0-9.]+//g' ++ KUBE_VERSION=1.24 + '[' 1 -ne 1 ']' + desc 'Register Kubernetes cluster' + set +o xtrace ----------------------------------------------------------------------------------- Register Kubernetes cluster ----------------------------------------------------------------------------------- ++ kubectl -n default run --quiet curl --rm --restart=Never -it --image=appropriate/curl -- -H 'Metadata-Flavor: Google' http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-name + k8s_cluster_name=jen-psmdb-1352-9793733e-6-cluster2 ++ kubectl -n default run --quiet curl --rm --restart=Never -it --image=appropriate/curl -- -H 'Metadata-Flavor: Google' http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-location + k8s_cluster_region=us-central1-a + gcloud container hub memberships register jen-psmdb-1352-9793733e-6-cluster2 --gke-cluster us-central1-a/jen-psmdb-1352-9793733e-6-cluster2 --enable-workload-identity Membership [projects/cloud-dev-112233/locations/us-central1/memberships/jen-psmdb-1352-9793733e-6-cluster2] already registered with the cluster [//container.googleapis.com/projects/cloud-dev-112233/locations/us-central1-a/clusters/jen-psmdb-1352-9793733e-6-cluster2] in the Fleet. Finished registering to the Fleet. + wait_mcs_api + set +o xtrace waiting for MCS APIs are registered + create_infra multi-cluster-service-29077 + local ns=multi-cluster-service-29077 + 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-1352/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.PFvdS2BmW1 ++ mktemp + local LAST_ERR=/tmp/tmp.jV6FL1K84l + 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-1352/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PFvdS2BmW1 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.jV6FL1K84l + rm /tmp/tmp.PFvdS2BmW1 /tmp/tmp.jV6FL1K84l + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/crd.yaml ++ grep -v '\-\-\-' + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + grep -v NAMESPACE + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + 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.eFoCUqVxEF ++ mktemp + local LAST_ERR=/tmp/tmp.V15GSF50tj + 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.eFoCUqVxEF + cat /tmp/tmp.V15GSF50tj + rm /tmp/tmp.eFoCUqVxEF /tmp/tmp.V15GSF50tj + 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.pxoEyCcPs4 ++ mktemp + local LAST_ERR=/tmp/tmp.H57W5QD6Ki + 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.pxoEyCcPs4 + cat /tmp/tmp.H57W5QD6Ki + rm /tmp/tmp.pxoEyCcPs4 /tmp/tmp.H57W5QD6Ki + 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.o0jJjEM81U ++ mktemp + local LAST_ERR=/tmp/tmp.l1NKGHliBN + 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.o0jJjEM81U + cat /tmp/tmp.l1NKGHliBN + rm /tmp/tmp.o0jJjEM81U /tmp/tmp.l1NKGHliBN + return 0 + local rbac_yaml=rbac.yaml + '[' -n '' ']' + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.HuSwtZlfZC ++ mktemp + local LAST_ERR=/tmp/tmp.8JpZ0KBLlk + 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-1352/deploy/rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HuSwtZlfZC role.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted serviceaccount "percona-server-mongodb-operator" deleted rolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.8JpZ0KBLlk + rm /tmp/tmp.HuSwtZlfZC /tmp/tmp.8JpZ0KBLlk + return 0 + check_crd_for_deletion PR-1352-9793733e + local git_tag=PR-1352-9793733e ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1352-9793733e/deploy/crd.yaml ++ /usr/bin/sed ':a;N;$!ba;s/\n/ /g' ++ /usr/bin/sed s/---//g ++ 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.LOr49PUo5q +++ mktemp ++ local LAST_ERR=/tmp/tmp.y4j2eKViOH ++ 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.LOr49PUo5q ++ cat /tmp/tmp.y4j2eKViOH 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.LOr49PUo5q ++ cat /tmp/tmp.y4j2eKViOH 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.LOr49PUo5q ++ cat /tmp/tmp.y4j2eKViOH Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.LOr49PUo5q ++ cat /tmp/tmp.y4j2eKViOH Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.LOr49PUo5q /tmp/tmp.y4j2eKViOH ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n '' ']' + create_namespace multi-cluster-service-29077 + local namespace=multi-cluster-service-29077 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ awk '-F ' '{print $2}' ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- ++ awk '{print $1}' ++ kubectl api-resources ++ grep chaos-mesh + '[' -n '' ']' ++ grep chaos-mesh.org ++ awk '{print $1}' ++ kubectl get crd + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get clusterrolebinding + 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 + : ++ kubectl get MutatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : + 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' + '[' -n '' ']' + desc 'cleaned up old namespaces multi-cluster-service-29077' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces multi-cluster-service-29077 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace multi-cluster-service-29077 --ignore-not-found ++ mktemp + xargs kubectl delete ns + kubectl_bin get ns + awk '{print$1}' + local LAST_OUT=/tmp/tmp.L67Tlu3JIJ ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.7ed9rXCi1O + local LAST_ERR=/tmp/tmp.IOdgotBXIH ++ mktemp + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.dXkAOCjASd + local exit_status=0 + local timeout=4 + for i in '$(seq 0 2)' + set +e ++ seq 0 2 + kubectl delete namespace multi-cluster-service-29077 --ignore-not-found + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7ed9rXCi1O + cat /tmp/tmp.dXkAOCjASd + rm /tmp/tmp.7ed9rXCi1O /tmp/tmp.dXkAOCjASd + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.L67Tlu3JIJ + cat /tmp/tmp.IOdgotBXIH + rm /tmp/tmp.L67Tlu3JIJ /tmp/tmp.IOdgotBXIH + return 0 + kubectl_bin wait --for=delete namespace multi-cluster-service-29077 ++ mktemp + local LAST_OUT=/tmp/tmp.81pwe6NcjW ++ mktemp + local LAST_ERR=/tmp/tmp.ZBJOe3gw8x + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete namespace multi-cluster-service-29077 namespace "multi-cluster-service-6344" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.81pwe6NcjW + cat /tmp/tmp.ZBJOe3gw8x + rm /tmp/tmp.81pwe6NcjW /tmp/tmp.ZBJOe3gw8x + return 0 + desc 'create namespace multi-cluster-service-29077' + set +o xtrace ----------------------------------------------------------------------------------- create namespace multi-cluster-service-29077 ----------------------------------------------------------------------------------- + kubectl_bin create namespace multi-cluster-service-29077 ++ mktemp + local LAST_OUT=/tmp/tmp.jjPMP0Inmh ++ mktemp + local LAST_ERR=/tmp/tmp.hV1NhY96Em + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace multi-cluster-service-29077 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jjPMP0Inmh namespace/multi-cluster-service-29077 created + cat /tmp/tmp.hV1NhY96Em + rm /tmp/tmp.jjPMP0Inmh /tmp/tmp.hV1NhY96Em + return 0 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.6EAzLwbiRb +++ mktemp ++ local LAST_ERR=/tmp/tmp.junr7ilbSF ++ 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.6EAzLwbiRb ++ cat /tmp/tmp.junr7ilbSF ++ rm /tmp/tmp.6EAzLwbiRb /tmp/tmp.junr7ilbSF ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1352-9793733e-6-cluster2 --namespace=multi-cluster-service-29077 ++ mktemp + local LAST_OUT=/tmp/tmp.phLBLQ5rKM ++ mktemp + local LAST_ERR=/tmp/tmp.is3pfNJYlU + 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-1352-9793733e-6-cluster2 --namespace=multi-cluster-service-29077 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.phLBLQ5rKM Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1352-9793733e-6-cluster2" modified. + cat /tmp/tmp.is3pfNJYlU + rm /tmp/tmp.phLBLQ5rKM /tmp/tmp.is3pfNJYlU + 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-1352/e2e-tests/multi-cluster-service/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.AkcaVtaT5l ++ mktemp + local LAST_ERR=/tmp/tmp.6zGrJhNGUQ + 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-1352/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AkcaVtaT5l 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.6zGrJhNGUQ + rm /tmp/tmp.AkcaVtaT5l /tmp/tmp.6zGrJhNGUQ + return 0 + '[' -n '' ']' + apply_rbac rbac + local operator_namespace=psmdb-operator + local rbac=rbac + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.srJTrqYZ10 ++ mktemp + local LAST_ERR=/tmp/tmp.1YnAGE4SC4 + 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.srJTrqYZ10 role.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created rolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.1YnAGE4SC4 + rm /tmp/tmp.srJTrqYZ10 /tmp/tmp.1YnAGE4SC4 + return 0 + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1352-9793733e") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/deploy/operator.yaml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.H6LzLG1VaH ++ mktemp + local LAST_ERR=/tmp/tmp.4ki20sYjkA + 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.H6LzLG1VaH deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.4ki20sYjkA + rm /tmp/tmp.H6LzLG1VaH /tmp/tmp.4ki20sYjkA + return 0 + sleep 2 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JV90NPkHjn +++ mktemp ++ local LAST_ERR=/tmp/tmp.iLFpKYDZMV ++ 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}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JV90NPkHjn ++ cat /tmp/tmp.iLFpKYDZMV ++ rm /tmp/tmp.JV90NPkHjn /tmp/tmp.iLFpKYDZMV ++ return 0 + wait_pod percona-server-mongodb-operator-6b6bcb669-7ws9n + local pod=percona-server-mongodb-operator-6b6bcb669-7ws9n + set +o xtrace waiting for pod/percona-server-mongodb-operator-6b6bcb669-7ws9n to be ready.OK + desc 'create first PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster ----------------------------------------------------------------------------------- + cluster=some-name + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/client.yml ++ mktemp + local LAST_OUT=/tmp/tmp.7NEoFdBUSQ ++ mktemp + local LAST_ERR=/tmp/tmp.3roxwhGAGL + 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-1352/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/client.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7NEoFdBUSQ secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.3roxwhGAGL + rm /tmp/tmp.7NEoFdBUSQ /tmp/tmp.3roxwhGAGL + 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-1352/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.8EEgwS0rxT ++ mktemp + local LAST_ERR=/tmp/tmp.hjBPQ08RNa + 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-1352/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8EEgwS0rxT secret/minio-secret created secret/aws-s3-secret created secret/gcp-cs-secret created secret/azure-secret created + cat /tmp/tmp.hjBPQ08RNa + rm /tmp/tmp.8EEgwS0rxT /tmp/tmp.hjBPQ08RNa + return 0 + version_gt 1.19 ++ bc -l ++ echo '1.24 >= 1.19' + '[' 1 -eq 1 ']' + return 0 + '[' 0 -ne 1 ']' + /usr/bin/sed s/docker/runc/g + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/conf/container-rc.yaml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.gClSg3D7eW ++ mktemp + local LAST_ERR=/tmp/tmp.w8PBQm6FtK + 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.gClSg3D7eW runtimeclass.node.k8s.io/container-rc unchanged + cat /tmp/tmp.w8PBQm6FtK + rm /tmp/tmp.gClSg3D7eW /tmp/tmp.w8PBQm6FtK + return 0 + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/multi-cluster-service/conf/some-name.yml + '[' -z '' ']' + kubectl_bin apply -f - + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/multi-cluster-service/conf/some-name.yml + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod5.0"' ++ mktemp + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1352/e2e-tests/multi-cluster-service/conf/some-name.yml + local LAST_OUT=/tmp/tmp.j8MlXKbVui ++ mktemp + local LAST_ERR=/tmp/tmp.Vn3M1VXpOF + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '.spec.upgradeOptions.apply="Never"' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.j8MlXKbVui perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.Vn3M1VXpOF + rm /tmp/tmp.j8MlXKbVui /tmp/tmp.Vn3M1VXpOF + 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.XuIONuB7p1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WaMgBJw0TL ++ 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.XuIONuB7p1 ++ cat /tmp/tmp.WaMgBJw0TL ++ rm /tmp/tmp.XuIONuB7p1 /tmp/tmp.WaMgBJw0TL ++ 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.aZ0ObfUUGR +++ mktemp ++ local LAST_ERR=/tmp/tmp.foG5s8flYQ ++ 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.aZ0ObfUUGR ++ cat /tmp/tmp.foG5s8flYQ ++ rm /tmp/tmp.aZ0ObfUUGR /tmp/tmp.foG5s8flYQ ++ 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.lUZ2N7ciyn +++ mktemp ++ local LAST_ERR=/tmp/tmp.Q3e6lT572u ++ 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.lUZ2N7ciyn ++ cat /tmp/tmp.Q3e6lT572u ++ rm /tmp/tmp.lUZ2N7ciyn /tmp/tmp.Q3e6lT572u ++ 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.CoTuUPNped +++ mktemp ++ local LAST_ERR=/tmp/tmp.cNjhlAb7vD ++ 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.CoTuUPNped ++ cat /tmp/tmp.cNjhlAb7vD ++ rm /tmp/tmp.CoTuUPNped /tmp/tmp.cNjhlAb7vD ++ 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.b4L6S9Ljcf +++ mktemp ++ local LAST_ERR=/tmp/tmp.cXbEBUUgXB ++ 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.b4L6S9Ljcf ++ cat /tmp/tmp.cXbEBUUgXB ++ rm /tmp/tmp.b4L6S9Ljcf /tmp/tmp.cXbEBUUgXB ++ 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.nIcNga54wL +++ mktemp ++ local LAST_ERR=/tmp/tmp.6x9seuqEmO ++ 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.nIcNga54wL ++ cat /tmp/tmp.6x9seuqEmO ++ rm /tmp/tmp.nIcNga54wL /tmp/tmp.6x9seuqEmO ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + wait_cluster_consistency some-name 3 + local cluster_name=some-name + local wait_time=3 + 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.cCTHhBXEqB +++ mktemp ++ local LAST_ERR=/tmp/tmp.rQamc3eSOt ++ 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.cCTHhBXEqB ++ cat /tmp/tmp.rQamc3eSOt ++ rm /tmp/tmp.cCTHhBXEqB /tmp/tmp.rQamc3eSOt ++ return 0 + [[ ready == \r\e\a\d\y ]] + desc 'enable MCS' + set +o xtrace ----------------------------------------------------------------------------------- enable MCS ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type json '-p=[{"op":"add","path":"/spec/multiCluster/enabled","value":true}]' ++ mktemp + local LAST_OUT=/tmp/tmp.LvxOIgOuZS ++ mktemp + local LAST_ERR=/tmp/tmp.hMlHOa0udv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch psmdb some-name --type json '-p=[{"op":"add","path":"/spec/multiCluster/enabled","value":true}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LvxOIgOuZS perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.hMlHOa0udv + rm /tmp/tmp.LvxOIgOuZS /tmp/tmp.hMlHOa0udv + return 0 + desc 'check if ServiceExport objects are created' + set +o xtrace ----------------------------------------------------------------------------------- check if ServiceExport objects are created ----------------------------------------------------------------------------------- + wait_service_export + set +o xtrace waiting for cluster services to be exported + wait_service_import + set +o xtrace waiting for cluster services to be imported................. + wait_cluster_consistency some-name 3 + local cluster_name=some-name + local wait_time=3 + 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.XLLTiorGZh +++ mktemp ++ local LAST_ERR=/tmp/tmp.TdQnE7YYJC ++ 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.XLLTiorGZh ++ cat /tmp/tmp.TdQnE7YYJC ++ rm /tmp/tmp.XLLTiorGZh /tmp/tmp.TdQnE7YYJC ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 1 -ge 3 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SdJCPx8pzN +++ mktemp ++ local LAST_ERR=/tmp/tmp.mmGzheUvTx ++ 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.SdJCPx8pzN ++ cat /tmp/tmp.mmGzheUvTx ++ rm /tmp/tmp.SdJCPx8pzN /tmp/tmp.mmGzheUvTx ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 2 -ge 3 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.We6Znur5E2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.pxHya0zrRA ++ 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.We6Znur5E2 ++ cat /tmp/tmp.pxHya0zrRA ++ rm /tmp/tmp.We6Znur5E2 /tmp/tmp.pxHya0zrRA ++ return 0 + [[ initializing == \r\e\a\d\y ]] + let retry+=1 + '[' 3 -ge 3 ']' + echo max retry count 3 reached. something went wrong with operator or kubernetes cluster max retry count 3 reached. something went wrong with operator or kubernetes cluster + exit 1