Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/logs/self-healing-chaos.log Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.35) and server (1.32) exceeds the supported minor version skew of +/-1 + cluster=some-name-rs0 + main + create_infra self-healing-chaos-4039 + local ns=self-healing-chaos-4039 + [[ 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-2277/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.vCJeLT05d4 ++ mktemp + local LAST_ERR=/tmp/tmp.aXlrjc8BMs + 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-2277/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vCJeLT05d4 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.aXlrjc8BMs + rm /tmp/tmp.vCJeLT05d4 /tmp/tmp.aXlrjc8BMs + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + 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.kJ72AfEtd6 ++ mktemp + local LAST_ERR=/tmp/tmp.idacvHrs2y + 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.kJ72AfEtd6 + cat /tmp/tmp.idacvHrs2y + rm /tmp/tmp.kJ72AfEtd6 /tmp/tmp.idacvHrs2y + 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.kFXbBi8tje ++ mktemp + local LAST_ERR=/tmp/tmp.cPw34uMKYZ + 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.kFXbBi8tje + cat /tmp/tmp.cPw34uMKYZ + rm /tmp/tmp.kFXbBi8tje /tmp/tmp.cPw34uMKYZ + 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.OPjjjg9m2K ++ mktemp + local LAST_ERR=/tmp/tmp.y0E4581Xg2 + 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.OPjjjg9m2K + cat /tmp/tmp.y0E4581Xg2 + rm /tmp/tmp.OPjjjg9m2K /tmp/tmp.y0E4581Xg2 + 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-2277/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.82U7rTC38M ++ mktemp + local LAST_ERR=/tmp/tmp.H3im578YpS + 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-2277/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.82U7rTC38M 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.H3im578YpS + rm /tmp/tmp.82U7rTC38M /tmp/tmp.H3im578YpS + return 0 + check_crd_for_deletion PR-2277-0a1aa642f + local git_tag=PR-2277-0a1aa642f ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2277-0a1aa642f/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + 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.QhebViJVZu +++ mktemp ++ local LAST_ERR=/tmp/tmp.rODHwaWzkc ++ 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.QhebViJVZu ++ cat /tmp/tmp.rODHwaWzkc 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.QhebViJVZu ++ cat /tmp/tmp.rODHwaWzkc 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.QhebViJVZu ++ cat /tmp/tmp.rODHwaWzkc Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.QhebViJVZu ++ cat /tmp/tmp.rODHwaWzkc Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.QhebViJVZu /tmp/tmp.rODHwaWzkc ++ 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 ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns=self-healing-chaos-17756 + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n self-healing-chaos-17756 ']' + helm uninstall --wait --timeout 60s chaos-mesh --namespace self-healing-chaos-17756 release "chaos-mesh" uninstalled ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get awschaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete awschaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get azurechaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete azurechaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get blockchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete blockchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get dnschaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete dnschaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get gcpchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete gcpchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get httpchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete httpchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get iochaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete iochaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get jvmchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete jvmchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get kernelchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete kernelchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get networkchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete networkchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get physicalmachinechaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete physicalmachinechaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get physicalmachines --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete physicalmachines --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get podchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line ++ echo 'PodChaos chaos-cluster-pod-failure self-healing-chaos-17756' ++ awk '{print $1}' + local kind=PodChaos ++ echo 'PodChaos chaos-cluster-pod-failure self-healing-chaos-17756' ++ awk '{print $2}' + local name=chaos-cluster-pod-failure ++ echo 'PodChaos chaos-cluster-pod-failure self-healing-chaos-17756' ++ awk '{print $3}' + local namespace=self-healing-chaos-17756 + kubectl patch PodChaos chaos-cluster-pod-failure -n self-healing-chaos-17756 --type=merge -p '{"metadata":{"finalizers":[]}}' podchaos.chaos-mesh.org/chaos-cluster-pod-failure patched + read -r line ++ echo 'PodChaos chaos-cluster-pod-kill self-healing-chaos-17756' ++ awk '{print $1}' + local kind=PodChaos ++ echo 'PodChaos chaos-cluster-pod-kill self-healing-chaos-17756' ++ awk '{print $2}' + local name=chaos-cluster-pod-kill ++ echo 'PodChaos chaos-cluster-pod-kill self-healing-chaos-17756' ++ awk '{print $3}' + local namespace=self-healing-chaos-17756 + kubectl patch PodChaos chaos-cluster-pod-kill -n self-healing-chaos-17756 --type=merge -p '{"metadata":{"finalizers":[]}}' podchaos.chaos-mesh.org/chaos-cluster-pod-kill patched + read -r line + timeout 30 kubectl delete podchaos --all --all-namespaces podchaos.chaos-mesh.org "chaos-cluster-pod-failure" deleted from self-healing-chaos-17756 namespace podchaos.chaos-mesh.org "chaos-cluster-pod-kill" deleted from self-healing-chaos-17756 namespace + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get podhttpchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete podhttpchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get podiochaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete podiochaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get podnetworkchaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete podnetworkchaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get remoteclusters --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete remoteclusters --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get schedules --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete schedules --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get statuschecks --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete statuschecks --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get stresschaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete stresschaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get timechaos --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete timechaos --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get workflownodes --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete workflownodes --all --all-namespaces No resources found + for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}') + kubectl get workflows --all-namespaces --no-headers -o custom-columns=Kind:.kind,Name:.metadata.name,NAMESPACE:.metadata.namespace + read -r line + timeout 30 kubectl delete workflows --all --all-namespaces No resources found ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd awschaos.chaos-mesh.org azurechaos.chaos-mesh.org blockchaos.chaos-mesh.org dnschaos.chaos-mesh.org gcpchaos.chaos-mesh.org httpchaos.chaos-mesh.org iochaos.chaos-mesh.org jvmchaos.chaos-mesh.org kernelchaos.chaos-mesh.org networkchaos.chaos-mesh.org physicalmachinechaos.chaos-mesh.org physicalmachines.chaos-mesh.org podchaos.chaos-mesh.org podhttpchaos.chaos-mesh.org podiochaos.chaos-mesh.org podnetworkchaos.chaos-mesh.org remoteclusters.chaos-mesh.org schedules.chaos-mesh.org statuschecks.chaos-mesh.org stresschaos.chaos-mesh.org timechaos.chaos-mesh.org workflownodes.chaos-mesh.org workflows.chaos-mesh.org customresourcedefinition.apiextensions.k8s.io "awschaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "azurechaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "blockchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "dnschaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "gcpchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "httpchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "iochaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "jvmchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "kernelchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "networkchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "physicalmachinechaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "physicalmachines.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "podchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "podhttpchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "podiochaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "podnetworkchaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "remoteclusters.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "schedules.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "statuschecks.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "stresschaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "timechaos.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "workflownodes.chaos-mesh.org" deleted customresourcedefinition.apiextensions.k8s.io "workflows.chaos-mesh.org" deleted ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' ++ mktemp + 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 ++ mktemp + local LAST_OUT=/tmp/tmp.DJewqTW1Cy ++ mktemp + local LAST_OUT=/tmp/tmp.CdHlqlVezZ ++ mktemp + local LAST_ERR=/tmp/tmp.LqhETN7Iux + local exit_status=0 + local timeout=4 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.BkyGZpFaFN + 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.DJewqTW1Cy + cat /tmp/tmp.LqhETN7Iux + rm /tmp/tmp.DJewqTW1Cy /tmp/tmp.LqhETN7Iux + return 0 namespace "self-healing-chaos-17756" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CdHlqlVezZ namespace "psmdb-operator" deleted + cat /tmp/tmp.BkyGZpFaFN + rm /tmp/tmp.CdHlqlVezZ /tmp/tmp.BkyGZpFaFN + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Hj8Gy9xXYX ++ mktemp + local LAST_ERR=/tmp/tmp.jBc3wT8SAD + 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.Hj8Gy9xXYX + cat /tmp/tmp.jBc3wT8SAD + rm /tmp/tmp.Hj8Gy9xXYX /tmp/tmp.jBc3wT8SAD + 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.RxYU5I64Hu ++ mktemp + local LAST_ERR=/tmp/tmp.UPV9hz2A57 + 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.RxYU5I64Hu namespace/psmdb-operator created + cat /tmp/tmp.UPV9hz2A57 + rm /tmp/tmp.RxYU5I64Hu /tmp/tmp.UPV9hz2A57 + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.QRXpNBINeW +++ mktemp ++ local LAST_ERR=/tmp/tmp.CtAeBD5EAa ++ 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.QRXpNBINeW ++ cat /tmp/tmp.CtAeBD5EAa ++ rm /tmp/tmp.QRXpNBINeW /tmp/tmp.CtAeBD5EAa ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2277-0a1aa642f-2-cluster12 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Cu60ifd4t7 ++ mktemp + local LAST_ERR=/tmp/tmp.0hXtjYgF8c + 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-2277-0a1aa642f-2-cluster12 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Cu60ifd4t7 Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2277-0a1aa642f-2-cluster12" modified. + cat /tmp/tmp.0hXtjYgF8c + rm /tmp/tmp.Cu60ifd4t7 /tmp/tmp.0hXtjYgF8c + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2277-0a1aa642f' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2277-0a1aa642f ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.ptWppSdyAT ++ mktemp + local LAST_ERR=/tmp/tmp.E6ZbeFhFUy + 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-2277/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ptWppSdyAT 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.E6ZbeFhFUy + rm /tmp/tmp.ptWppSdyAT /tmp/tmp.E6ZbeFhFUy + 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-2277/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.XzAfodwKXJ ++ mktemp + local LAST_ERR=/tmp/tmp.7QpyiO6Zgl + 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.XzAfodwKXJ 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.7QpyiO6Zgl + rm /tmp/tmp.XzAfodwKXJ /tmp/tmp.7QpyiO6Zgl + return 0 + yq eval ' (.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2277-0a1aa642f") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/deploy/cw-operator.yaml + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.NPvGKJobDC ++ mktemp + local LAST_ERR=/tmp/tmp.faqQZELPlY + 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.NPvGKJobDC deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.faqQZELPlY + rm /tmp/tmp.NPvGKJobDC /tmp/tmp.faqQZELPlY + return 0 + sleep 20 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.FXcyhDfHFC +++ mktemp ++ local LAST_ERR=/tmp/tmp.9EcyOWnFEo ++ 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.FXcyhDfHFC ++ cat /tmp/tmp.9EcyOWnFEo ++ rm /tmp/tmp.FXcyhDfHFC /tmp/tmp.9EcyOWnFEo ++ return 0 + wait_operator_pod percona-server-mongodb-operator-5b5f6fcd94-hxkwv + local pod=percona-server-mongodb-operator-5b5f6fcd94-hxkwv + set +o xtrace waiting for pod/percona-server-mongodb-operator-5b5f6fcd94-hxkwv 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.r8EiJkjWl8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.LoVrtH8EY5 ++ 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.r8EiJkjWl8 ++ cat /tmp/tmp.LoVrtH8EY5 ++ rm /tmp/tmp.r8EiJkjWl8 /tmp/tmp.LoVrtH8EY5 ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-5b5f6fcd94-hxkwv ++ mktemp + local LAST_OUT=/tmp/tmp.HrwIwRddvV ++ mktemp + local LAST_ERR=/tmp/tmp.VbCTFfySEj + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-5b5f6fcd94-hxkwv + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HrwIwRddvV + cat /tmp/tmp.VbCTFfySEj + rm /tmp/tmp.HrwIwRddvV /tmp/tmp.VbCTFfySEj + return 0 2026-03-09T11:18:22.999Z INFO setup Manager starting up {"gitCommit": "0a1aa642fab677b3a3eb9b1dee5f81fc42e34249", "gitBranch": "PR-2277-0a1aa642f", "buildTime": "", "goVersion": "go1.25.8", "os": "linux", "arch": "amd64"} + create_namespace self-healing-chaos-4039 + local namespace=self-healing-chaos-4039 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ kubectl api-resources ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' ++ mktemp + xargs kubectl delete ns + desc 'cleaned up old namespaces self-healing-chaos-4039' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces self-healing-chaos-4039 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace self-healing-chaos-4039 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.JnQ8dhDf6o ++ mktemp + local LAST_OUT=/tmp/tmp.KdFA1pjtPq + local LAST_ERR=/tmp/tmp.CLfv8P3WLu + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.aNGlFekCCk + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace self-healing-chaos-4039 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JnQ8dhDf6o + cat /tmp/tmp.CLfv8P3WLu + rm /tmp/tmp.JnQ8dhDf6o /tmp/tmp.CLfv8P3WLu + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KdFA1pjtPq + cat /tmp/tmp.aNGlFekCCk + rm /tmp/tmp.KdFA1pjtPq /tmp/tmp.aNGlFekCCk + return 0 + kubectl_bin wait --for=delete namespace self-healing-chaos-4039 ++ mktemp + local LAST_OUT=/tmp/tmp.3LMF5VqSol ++ mktemp + local LAST_ERR=/tmp/tmp.TpX7QYgiNF + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace self-healing-chaos-4039 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3LMF5VqSol + cat /tmp/tmp.TpX7QYgiNF + rm /tmp/tmp.3LMF5VqSol /tmp/tmp.TpX7QYgiNF + return 0 + desc 'create namespace self-healing-chaos-4039' + set +o xtrace ----------------------------------------------------------------------------------- create namespace self-healing-chaos-4039 ----------------------------------------------------------------------------------- + kubectl_bin create namespace self-healing-chaos-4039 ++ mktemp + local LAST_OUT=/tmp/tmp.paMg1Oa48w ++ mktemp + local LAST_ERR=/tmp/tmp.kctP9LRUVJ + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace self-healing-chaos-4039 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.paMg1Oa48w namespace/self-healing-chaos-4039 created + cat /tmp/tmp.kctP9LRUVJ + rm /tmp/tmp.paMg1Oa48w /tmp/tmp.kctP9LRUVJ + return 0 + set_kube_ctx self-healing-chaos-4039 + local namespace=self-healing-chaos-4039 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.PJUmEOxLCY +++ mktemp ++ local LAST_ERR=/tmp/tmp.SR80NPABVL ++ 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.PJUmEOxLCY ++ cat /tmp/tmp.SR80NPABVL ++ rm /tmp/tmp.PJUmEOxLCY /tmp/tmp.SR80NPABVL ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2277-0a1aa642f-2-cluster12 --namespace=self-healing-chaos-4039 ++ mktemp + local LAST_OUT=/tmp/tmp.NhoXKvr3Dj ++ mktemp + local LAST_ERR=/tmp/tmp.63ynI1RSY1 + 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-2277-0a1aa642f-2-cluster12 --namespace=self-healing-chaos-4039 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NhoXKvr3Dj Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2277-0a1aa642f-2-cluster12" modified. + cat /tmp/tmp.63ynI1RSY1 + rm /tmp/tmp.NhoXKvr3Dj /tmp/tmp.63ynI1RSY1 + return 0 + deploy_chaos_mesh self-healing-chaos-4039 + local chaos_mesh_ns=self-healing-chaos-4039 + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'install chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- install chaos-mesh ----------------------------------------------------------------------------------- + helm repo add chaos-mesh https://charts.chaos-mesh.org "chaos-mesh" already exists with the same configuration, skipping + helm install chaos-mesh chaos-mesh/chaos-mesh --namespace=self-healing-chaos-4039 --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/containerd/containerd.sock --set dashboard.create=false --version 2.7.1 NAME: chaos-mesh LAST DEPLOYED: Mon Mar 9 11:19:14 2026 NAMESPACE: self-healing-chaos-4039 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: 1. Make sure chaos-mesh components are running kubectl get pods --namespace self-healing-chaos-4039 -l app.kubernetes.io/instance=chaos-mesh + sleep 10 + desc 'start cluster' + set +o xtrace ----------------------------------------------------------------------------------- start cluster ----------------------------------------------------------------------------------- + setup_cluster + 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-2277/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/client.yml ++ mktemp + local LAST_OUT=/tmp/tmp.5yiQnpMx7J ++ mktemp + local LAST_ERR=/tmp/tmp.Ts01xk71mu + 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-2277/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/client.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5yiQnpMx7J secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.Ts01xk71mu + rm /tmp/tmp.5yiQnpMx7J /tmp/tmp.Ts01xk71mu + return 0 + desc 'create first PSMDB cluster some-name-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' ++ mktemp + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2277-0a1aa642f"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + /usr/sbin/sed -e s/NAME_SPACE/self-healing-chaos-4039/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.8O4f10rfQ6 ++ mktemp + local LAST_ERR=/tmp/tmp.kDDxFjqwIw + 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.8O4f10rfQ6 perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.kDDxFjqwIw + rm /tmp/tmp.8O4f10rfQ6 /tmp/tmp.kDDxFjqwIw + 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.4XBxEMspkF +++ mktemp ++ local LAST_ERR=/tmp/tmp.pa20W0UMZw ++ 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.4XBxEMspkF ++ cat /tmp/tmp.pa20W0UMZw ++ rm /tmp/tmp.4XBxEMspkF /tmp/tmp.pa20W0UMZw ++ 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")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Xr6rqKqprE +++ mktemp ++ local LAST_ERR=/tmp/tmp.LhHe7FE8lc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Xr6rqKqprE ++ cat /tmp/tmp.LhHe7FE8lc ++ rm /tmp/tmp.Xr6rqKqprE /tmp/tmp.LhHe7FE8lc ++ 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.9MU3PB46TQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.Yqd0zhh35J ++ 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.9MU3PB46TQ ++ cat /tmp/tmp.Yqd0zhh35J ++ rm /tmp/tmp.9MU3PB46TQ /tmp/tmp.Yqd0zhh35J ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + desc 'enable backups' + set +o xtrace ----------------------------------------------------------------------------------- enable backups ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=merge -p '{"spec":{"backup":{"enabled":true}}}' ++ mktemp + local LAST_OUT=/tmp/tmp.LtYpahvrrx ++ mktemp + local LAST_ERR=/tmp/tmp.sjL9rdfG2c + 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 -p '{"spec":{"backup":{"enabled":true}}}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LtYpahvrrx perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.sjL9rdfG2c + rm /tmp/tmp.LtYpahvrrx /tmp/tmp.sjL9rdfG2c + 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.PYoGWDJDWW +++ mktemp ++ local LAST_ERR=/tmp/tmp.9wwXVGGO00 ++ 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.PYoGWDJDWW ++ cat /tmp/tmp.9wwXVGGO00 ++ rm /tmp/tmp.PYoGWDJDWW /tmp/tmp.9wwXVGGO00 ++ 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")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3tCUtOaomt +++ mktemp ++ local LAST_ERR=/tmp/tmp.uofhkf2NLW ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.3tCUtOaomt ++ cat /tmp/tmp.uofhkf2NLW ++ rm /tmp/tmp.3tCUtOaomt /tmp/tmp.uofhkf2NLW ++ 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.A7bnq0LXXa +++ mktemp ++ local LAST_ERR=/tmp/tmp.8D3oLoUGz8 ++ 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.A7bnq0LXXa ++ cat /tmp/tmp.8D3oLoUGz8 ++ rm /tmp/tmp.A7bnq0LXXa /tmp/tmp.8D3oLoUGz8 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness................................................................................ + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-rs0.self-healing-chaos-4039 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-rs0.self-healing-chaos-4039 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@some-name-rs0.self-healing-chaos-4039 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9bpjE0JJFO +++ mktemp ++ local LAST_ERR=/tmp/tmp.WWtni5gjCZ ++ 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.9bpjE0JJFO ++ cat /tmp/tmp.WWtni5gjCZ ++ rm /tmp/tmp.9bpjE0JJFO /tmp/tmp.WWtni5gjCZ ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.tYQLKRdVFR ++ mktemp + local LAST_ERR=/tmp/tmp.CtwBDsNBrI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tYQLKRdVFR Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("eadaf228-646b-46ce-a617-1d652ee32646") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.CtwBDsNBrI + rm /tmp/tmp.tYQLKRdVFR /tmp/tmp.CtwBDsNBrI + return 0 + sleep 2 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-rs0.self-healing-chaos-4039 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-rs0.self-healing-chaos-4039 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.self-healing-chaos-4039 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7aF46eLpXi +++ mktemp ++ local LAST_ERR=/tmp/tmp.txFUJE5LHS ++ 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.7aF46eLpXi ++ cat /tmp/tmp.txFUJE5LHS ++ rm /tmp/tmp.7aF46eLpXi /tmp/tmp.txFUJE5LHS ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.IWSLKbdQxx ++ mktemp + local LAST_ERR=/tmp/tmp.18KTsm1m20 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IWSLKbdQxx Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("17713792-f4b7-4b5c-b99b-fefd250aacc0") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.18KTsm1m20 + rm /tmp/tmp.IWSLKbdQxx /tmp/tmp.18KTsm1m20 + return 0 + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:24:50+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + grep -E -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:|Started a new thread for the timer service' + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.OvaALjbd8b +++ mktemp ++ local LAST_ERR=/tmp/tmp.DPTsxSgSnm ++ 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.OvaALjbd8b ++ cat /tmp/tmp.DPTsxSgSnm ++ rm /tmp/tmp.OvaALjbd8b /tmp/tmp.DPTsxSgSnm ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.SNnTRlLIjd ++ mktemp + local LAST_ERR=/tmp/tmp.gant4X8wRS + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SNnTRlLIjd + cat /tmp/tmp.gant4X8wRS + rm /tmp/tmp.SNnTRlLIjd /tmp/tmp.gant4X8wRS + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:24:53+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + grep -E -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:|Started a new thread for the timer service' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5SD8SPa2w0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.STZiJzyz42 ++ 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.5SD8SPa2w0 ++ cat /tmp/tmp.STZiJzyz42 ++ rm /tmp/tmp.5SD8SPa2w0 /tmp/tmp.STZiJzyz42 ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.BiPsrN2mSg ++ mktemp + local LAST_ERR=/tmp/tmp.E8ry9YEAEM + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BiPsrN2mSg + cat /tmp/tmp.E8ry9YEAEM + rm /tmp/tmp.BiPsrN2mSg /tmp/tmp.E8ry9YEAEM + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:24:55+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + grep -E -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:|Started a new thread for the timer service' + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3aQgSyQsj2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.0gXsfmKpNi ++ 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.3aQgSyQsj2 ++ cat /tmp/tmp.0gXsfmKpNi ++ rm /tmp/tmp.3aQgSyQsj2 /tmp/tmp.0gXsfmKpNi ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.raxYPEPUEc ++ mktemp + local LAST_ERR=/tmp/tmp.QStoLcRDK7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.raxYPEPUEc + cat /tmp/tmp.QStoLcRDK7 + rm /tmp/tmp.raxYPEPUEc /tmp/tmp.QStoLcRDK7 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + desc 'recreate cluster' + set +o xtrace ----------------------------------------------------------------------------------- recreate cluster ----------------------------------------------------------------------------------- + recreate + desc 'delete PSMDB cluster some-name-rs0' + set +o xtrace ----------------------------------------------------------------------------------- delete PSMDB cluster some-name-rs0 ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml ++ mktemp + local LAST_OUT=/tmp/tmp.FMVsxLqbWD ++ mktemp + local LAST_ERR=/tmp/tmp.DlVZOu0m3v + 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-2277/e2e-tests/conf/some-name-rs0.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FMVsxLqbWD perconaservermongodb.psmdb.percona.com "some-name" deleted from self-healing-chaos-4039 namespace + cat /tmp/tmp.DlVZOu0m3v + rm /tmp/tmp.FMVsxLqbWD /tmp/tmp.DlVZOu0m3v + return 0 + wait_for_delete pod/some-name-rs0-2 + local res=pod/some-name-rs0-2 + local wait_time=60 + set +o xtrace waiting for pod/some-name-rs0-2 to be deleted........Error from server (NotFound): pods "some-name-rs0-2" not found Error from server (NotFound): pods "some-name-rs0-2" not found Error from server (NotFound): pods "some-name-rs0-2" not found Error from server (NotFound): pods "some-name-rs0-2" not found + wait_for_delete pod/some-name-rs0-1 + local res=pod/some-name-rs0-1 + local wait_time=60 + set +o xtrace waiting for pod/some-name-rs0-1 to be deletedError from server (NotFound): pods "some-name-rs0-1" not found Error from server (NotFound): pods "some-name-rs0-1" not found Error from server (NotFound): pods "some-name-rs0-1" not found Error from server (NotFound): pods "some-name-rs0-1" not found + wait_for_delete pod/some-name-rs0-0 + local res=pod/some-name-rs0-0 + local wait_time=60 + set +o xtrace waiting for pod/some-name-rs0-0 to be deletedError from server (NotFound): pods "some-name-rs0-0" not found Error from server (NotFound): pods "some-name-rs0-0" not found Error from server (NotFound): pods "some-name-rs0-0" not found Error from server (NotFound): pods "some-name-rs0-0" not found + desc 'create PSMDB cluster some-name-rs0' + set +o xtrace ----------------------------------------------------------------------------------- create PSMDB cluster some-name-rs0 ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/some-name-rs0.yml + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2277-0a1aa642f"' ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/self-healing-chaos-4039/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_OUT=/tmp/tmp.aJcWZnbIPv ++ mktemp + local LAST_ERR=/tmp/tmp.VSIBietc3c + 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.aJcWZnbIPv perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.VSIBietc3c + rm /tmp/tmp.aJcWZnbIPv /tmp/tmp.VSIBietc3c + 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.q379EA8fiC +++ mktemp ++ local LAST_ERR=/tmp/tmp.r6735gqfHe ++ 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.q379EA8fiC ++ cat /tmp/tmp.r6735gqfHe ++ rm /tmp/tmp.q379EA8fiC /tmp/tmp.r6735gqfHe ++ 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")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IUlufp6Iav +++ mktemp ++ local LAST_ERR=/tmp/tmp.UtitmAhNDe ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.IUlufp6Iav ++ cat /tmp/tmp.UtitmAhNDe ++ rm /tmp/tmp.IUlufp6Iav /tmp/tmp.UtitmAhNDe ++ 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.aOubtwQt1e +++ mktemp ++ local LAST_ERR=/tmp/tmp.UYfeNFfUiV ++ 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.aOubtwQt1e ++ cat /tmp/tmp.UYfeNFfUiV ++ rm /tmp/tmp.aOubtwQt1e /tmp/tmp.UYfeNFfUiV ++ 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.QewnDKgeEi +++ mktemp ++ local LAST_ERR=/tmp/tmp.WFs8FDgdhw ++ 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.QewnDKgeEi ++ cat /tmp/tmp.WFs8FDgdhw ++ rm /tmp/tmp.QewnDKgeEi /tmp/tmp.WFs8FDgdhw ++ return 0 + [[ ready == \r\e\a\d\y ]] + echo .OK .OK + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:27:32+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + grep -E -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:|Started a new thread for the timer service' + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cWqK1HSOYj +++ mktemp ++ local LAST_ERR=/tmp/tmp.g93SuOJlDC ++ 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.cWqK1HSOYj ++ cat /tmp/tmp.g93SuOJlDC ++ rm /tmp/tmp.cWqK1HSOYj /tmp/tmp.g93SuOJlDC ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.VukCxHrMhV ++ mktemp + local LAST_ERR=/tmp/tmp.At35Wn4XUc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VukCxHrMhV + cat /tmp/tmp.At35Wn4XUc + rm /tmp/tmp.VukCxHrMhV /tmp/tmp.At35Wn4XUc + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:27:34+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + grep -E -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:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UohMrwsWEn +++ mktemp ++ local LAST_ERR=/tmp/tmp.UPdNCffCaE ++ 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.UohMrwsWEn ++ cat /tmp/tmp.UPdNCffCaE ++ rm /tmp/tmp.UohMrwsWEn /tmp/tmp.UPdNCffCaE ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.pEIoTHTuUf ++ mktemp + local LAST_ERR=/tmp/tmp.A892zw80Cx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pEIoTHTuUf + cat /tmp/tmp.A892zw80Cx + rm /tmp/tmp.pEIoTHTuUf /tmp/tmp.A892zw80Cx + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + compare_mongo_cmd find myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:27:37+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + grep -E -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:|Started a new thread for the timer service' + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6cVbcMuJDu +++ mktemp ++ local LAST_ERR=/tmp/tmp.t4Y8EOzfvP ++ 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.6cVbcMuJDu ++ cat /tmp/tmp.t4Y8EOzfvP ++ rm /tmp/tmp.6cVbcMuJDu /tmp/tmp.t4Y8EOzfvP ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.ygvzPBlN5k ++ mktemp + local LAST_ERR=/tmp/tmp.WkSLVUqvr4 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ygvzPBlN5k + cat /tmp/tmp.WkSLVUqvr4 + rm /tmp/tmp.ygvzPBlN5k /tmp/tmp.WkSLVUqvr4 + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + desc 'kill node-0 pod' + set +o xtrace ----------------------------------------------------------------------------------- kill node-0 pod ----------------------------------------------------------------------------------- + kill_pod some-name-rs0-0 + local pod=some-name-rs0-0 ++ kubectl get pod some-name-rs0-0 -ojson ++ jq .metadata.resourceVersion ++ tr -d '"' + local old_resourceVersion=1773055585327215015 + yq eval ' .metadata.name = "chaos-cluster-pod-kill" | del(.spec.selector.pods.test-namespace) | .spec.selector.pods.self-healing-chaos-4039[0] = "some-name-rs0-0"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/chaos-pod-kill.yml + kubectl apply -f - podchaos.chaos-mesh.org/chaos-cluster-pod-kill created + sleep 5 + 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.wOX1YnvYel +++ mktemp ++ local LAST_ERR=/tmp/tmp.K5lrfX3Bqp ++ 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.wOX1YnvYel ++ cat /tmp/tmp.K5lrfX3Bqp ++ rm /tmp/tmp.wOX1YnvYel /tmp/tmp.K5lrfX3Bqp ++ 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")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nPF7lxJ8mu +++ mktemp ++ local LAST_ERR=/tmp/tmp.yJOIC4OpI7 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.nPF7lxJ8mu ++ cat /tmp/tmp.yJOIC4OpI7 ++ rm /tmp/tmp.nPF7lxJ8mu /tmp/tmp.yJOIC4OpI7 ++ 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.UKgULTiR6L +++ mktemp ++ local LAST_ERR=/tmp/tmp.ED7quVw8Zo ++ 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.UKgULTiR6L ++ cat /tmp/tmp.ED7quVw8Zo ++ rm /tmp/tmp.UKgULTiR6L /tmp/tmp.ED7quVw8Zo ++ 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.bRpLkzf128 +++ mktemp ++ local LAST_ERR=/tmp/tmp.tr85Qgzgga ++ 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.bRpLkzf128 ++ cat /tmp/tmp.tr85Qgzgga ++ rm /tmp/tmp.bRpLkzf128 /tmp/tmp.tr85Qgzgga ++ return 0 + [[ ready == \r\e\a\d\y ]] + echo .OK .OK + check_pod_restarted some-name-rs0-0 1773055585327215015 + local pod=some-name-rs0-0 + local old_resourceVersion=1773055585327215015 ++ kubectl get pod some-name-rs0-0 -ojson ++ jq .metadata.resourceVersion ++ tr -d '"' + local new_resourceVersion=1773055690559855015 + [[ 1773055585327215015 == \1\7\7\3\0\5\5\6\9\0\5\5\9\8\5\5\0\1\5 ]] + desc 'check data consistency for chaosed Pod' + set +o xtrace ----------------------------------------------------------------------------------- check data consistency for chaosed Pod ----------------------------------------------------------------------------------- + compare_mongo_cmd find myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local command=find + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local postfix= + local suffix= + local database=myApp + local collection=test + local sort= + local tls=false + local replicaset= + local 'full_command=db.test.find()' + [[ -n '' ]] + log 'running db.test.find() in myApp' + set +o xtrace [2026-03-09T11:28:42+0000] running db.test.find() in myApp + [[ false == \t\r\u\e ]] + mongo_command=run_mongo + run_mongo 'use myApp\n db.test.find()' myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 mongodb '' '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039 == *cfg* ]] + grep -E -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:|Started a new thread for the timer service' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zxk91LJZyI +++ mktemp ++ local LAST_ERR=/tmp/tmp.qeY1rwUXuk ++ 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.zxk91LJZyI ++ cat /tmp/tmp.qeY1rwUXuk ++ rm /tmp/tmp.zxk91LJZyI /tmp/tmp.qeY1rwUXuk ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.MUt4402qf6 ++ mktemp + local LAST_ERR=/tmp/tmp.yPzqgYAgDs + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MUt4402qf6 + cat /tmp/tmp.yPzqgYAgDs + rm /tmp/tmp.MUt4402qf6 /tmp/tmp.yPzqgYAgDs + return 0 + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/self-healing-chaos/compare/find.json /tmp/tmp.rtWrdBWbRq/find + desc 'fail node-0 pod for 60s' + set +o xtrace ----------------------------------------------------------------------------------- fail node-0 pod for 60s ----------------------------------------------------------------------------------- + failure_pod some-name-rs0-0 + local pod=some-name-rs0-0 ++ kubectl get pod some-name-rs0-0 -ojson ++ jq .metadata.resourceVersion ++ tr -d '"' + local old_resourceVersion=1773055690559855015 + yq eval ' .metadata.name = "chaos-cluster-pod-failure" | del(.spec.selector.pods.test-namespace) | .spec.selector.pods.self-healing-chaos-4039[0] = "some-name-rs0-0"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2277/e2e-tests/conf/chaos-pod-failure.yml + kubectl apply -f - podchaos.chaos-mesh.org/chaos-cluster-pod-failure created + sleep 10 + desc 'write data' + set +o xtrace ----------------------------------------------------------------------------------- write data ----------------------------------------------------------------------------------- + run_mongo 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-rs0.self-healing-chaos-4039 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-rs0.self-healing-chaos-4039 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@some-name-rs0.self-healing-chaos-4039 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rDrSIIEJhv +++ mktemp ++ local LAST_ERR=/tmp/tmp.LOA5u2Ctgn ++ 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.rDrSIIEJhv ++ cat /tmp/tmp.LOA5u2Ctgn ++ rm /tmp/tmp.rDrSIIEJhv /tmp/tmp.LOA5u2Ctgn ++ return 0 + local client_container=psmdb-client-bb8b97679-t2g8h + kubectl_bin exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.ke1gbRYWcX ++ mktemp + local LAST_ERR=/tmp/tmp.MJatdRY51m + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-t2g8h -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb+srv://myApp:myPass@some-name-rs0.self-healing-chaos-4039.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ke1gbRYWcX Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-rs0-1.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-2.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017,some-name-rs0-0.some-name-rs0.self-healing-chaos-4039.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("886672e4-ce32-472f-affe-f455d972f26d") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.MJatdRY51m + rm /tmp/tmp.ke1gbRYWcX /tmp/tmp.MJatdRY51m + 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.d3H0TtLrfP +++ mktemp ++ local LAST_ERR=/tmp/tmp.AOFUkNtV6c ++ 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.d3H0TtLrfP ++ cat /tmp/tmp.AOFUkNtV6c ++ rm /tmp/tmp.d3H0TtLrfP /tmp/tmp.AOFUkNtV6c ++ 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")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.1FeJqJUZux +++ mktemp ++ local LAST_ERR=/tmp/tmp.dABt6u9Vgf ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.1FeJqJUZux ++ cat /tmp/tmp.dABt6u9Vgf ++ rm /tmp/tmp.1FeJqJUZux /tmp/tmp.dABt6u9Vgf ++ 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.MnulNMUmGW +++ mktemp ++ local LAST_ERR=/tmp/tmp.monmCgv5m4 ++ 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.MnulNMUmGW ++ cat /tmp/tmp.monmCgv5m4 ++ rm /tmp/tmp.MnulNMUmGW /tmp/tmp.monmCgv5m4 ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness......................