++ echo 'Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/logs/one-pod.log' Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/logs/one-pod.log ++ '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/cloud-secret.yml ']' ++ SKIP_BACKUPS_TO_AWS_GCP_AZURE= ++ oc get projects ++ kubectl get nodes ++ grep '^minikube' +++ kubectl version -o json +++ jq -r .serverVersion.gitVersion +++ grep -eks- Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 ++ '[' ']' ++ EKS=0 +++ kubectl version -o json +++ jq -r .serverVersion.gitVersion +++ grep gke Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 ++ '[' v1.32.13-gke.1318000 ']' ++ GKE=1 +++ kubectl version -o json +++ jq -r '.serverVersion.major + "." + .serverVersion.minor' +++ /usr/sbin/sed -r 's/[^0-9.]+//g' Warning: version difference between client (1.36) and server (1.32) exceeds the supported minor version skew of +/-1 ++ KUBE_VERSION=1.32 + main + create_infra one-pod-19202 + local ns=one-pod-19202 + [[ 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-2269/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.VmtaKPDNa8 ++ mktemp + local LAST_ERR=/tmp/tmp.fsbSvxbdhi + 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-2269/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VmtaKPDNa8 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.fsbSvxbdhi + rm /tmp/tmp.VmtaKPDNa8 /tmp/tmp.fsbSvxbdhi + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/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.o0uFuK0bS5 ++ mktemp + local LAST_ERR=/tmp/tmp.0jmTf6jQaq + 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.o0uFuK0bS5 + cat /tmp/tmp.0jmTf6jQaq + rm /tmp/tmp.o0uFuK0bS5 /tmp/tmp.0jmTf6jQaq + 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.4Neq3KyBsR ++ mktemp + local LAST_ERR=/tmp/tmp.CczdAotR6h + 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.4Neq3KyBsR + cat /tmp/tmp.CczdAotR6h + rm /tmp/tmp.4Neq3KyBsR /tmp/tmp.CczdAotR6h + 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.mZEL8Q0R3D ++ mktemp + local LAST_ERR=/tmp/tmp.klubUphkaR + 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.mZEL8Q0R3D + cat /tmp/tmp.klubUphkaR + rm /tmp/tmp.mZEL8Q0R3D /tmp/tmp.klubUphkaR + 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-2269/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.2z6WGcwhMP ++ mktemp + local LAST_ERR=/tmp/tmp.jtVvOreG7Q + 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-2269/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2z6WGcwhMP 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.jtVvOreG7Q + rm /tmp/tmp.2z6WGcwhMP /tmp/tmp.jtVvOreG7Q + return 0 + check_crd_for_deletion PR-2269-20e73be3 + local git_tag=PR-2269-20e73be3 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2269-20e73be3/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.mewSBjAMT1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Gw90Wd5cFo ++ 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.mewSBjAMT1 ++ cat /tmp/tmp.Gw90Wd5cFo 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.mewSBjAMT1 ++ cat /tmp/tmp.Gw90Wd5cFo 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.mewSBjAMT1 ++ cat /tmp/tmp.Gw90Wd5cFo Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.mewSBjAMT1 ++ cat /tmp/tmp.Gw90Wd5cFo Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.mewSBjAMT1 /tmp/tmp.Gw90Wd5cFo ++ return 1 + [[ '' == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' ++ mktemp + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.EhYFv0De63 ++ mktemp + local LAST_OUT=/tmp/tmp.bLyhKNYcD2 + local LAST_ERR=/tmp/tmp.A5lY5cMNpk + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.c57IOc6bol + 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.EhYFv0De63 + cat /tmp/tmp.A5lY5cMNpk + rm /tmp/tmp.EhYFv0De63 /tmp/tmp.A5lY5cMNpk + return 0 namespace "one-pod-7940" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.bLyhKNYcD2 namespace "psmdb-operator" deleted + cat /tmp/tmp.c57IOc6bol + rm /tmp/tmp.bLyhKNYcD2 /tmp/tmp.c57IOc6bol + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.PLW3tf1bzF ++ mktemp + local LAST_ERR=/tmp/tmp.Gxl07IIO2I + 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.PLW3tf1bzF + cat /tmp/tmp.Gxl07IIO2I + rm /tmp/tmp.PLW3tf1bzF /tmp/tmp.Gxl07IIO2I + 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.N6vW9TR97l ++ mktemp + local LAST_ERR=/tmp/tmp.NLsv8Q36rk + 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.N6vW9TR97l namespace/psmdb-operator created + cat /tmp/tmp.NLsv8Q36rk + rm /tmp/tmp.N6vW9TR97l /tmp/tmp.NLsv8Q36rk + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.JbJY7qGZzV +++ mktemp ++ local LAST_ERR=/tmp/tmp.9vF2mXUJo9 ++ 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.JbJY7qGZzV ++ cat /tmp/tmp.9vF2mXUJo9 ++ rm /tmp/tmp.JbJY7qGZzV /tmp/tmp.9vF2mXUJo9 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster7 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.UCwmA0UIPA ++ mktemp + local LAST_ERR=/tmp/tmp.oBM2yBdV2y + 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-2269-20e73be3-5-cluster7 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.UCwmA0UIPA Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster7" modified. + cat /tmp/tmp.oBM2yBdV2y + rm /tmp/tmp.UCwmA0UIPA /tmp/tmp.oBM2yBdV2y + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.GSkfO5TQtm ++ mktemp + local LAST_ERR=/tmp/tmp.V2bajnrgPa + 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-2269/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GSkfO5TQtm 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.V2bajnrgPa + rm /tmp/tmp.GSkfO5TQtm /tmp/tmp.V2bajnrgPa + 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-2269/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.3O83GZnh7I ++ mktemp + local LAST_ERR=/tmp/tmp.1sYj6Eapui + 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.3O83GZnh7I 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.1sYj6Eapui + rm /tmp/tmp.3O83GZnh7I /tmp/tmp.1sYj6Eapui + return 0 + kubectl_bin apply -n psmdb-operator -f - + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2269-20e73be3") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/deploy/cw-operator.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.dNGAETO4QS ++ mktemp + local LAST_ERR=/tmp/tmp.pmDMDDpmQm + 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.dNGAETO4QS deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.pmDMDDpmQm + rm /tmp/tmp.dNGAETO4QS /tmp/tmp.pmDMDDpmQm + 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.2rfsJNQFQ3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.MyEVln0X44 ++ 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.2rfsJNQFQ3 ++ cat /tmp/tmp.MyEVln0X44 ++ rm /tmp/tmp.2rfsJNQFQ3 /tmp/tmp.MyEVln0X44 ++ return 0 + wait_operator_pod percona-server-mongodb-operator-dfddcf789-tfntp + local pod=percona-server-mongodb-operator-dfddcf789-tfntp + set +o xtrace waiting for pod/percona-server-mongodb-operator-dfddcf789-tfntp to be ready.OK + echo 'Print operator info from log' Print operator info from log ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator + grep 'Manager starting up' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ONW4aO6f5v +++ mktemp ++ local LAST_ERR=/tmp/tmp.pr5Ab4wLki ++ 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.ONW4aO6f5v ++ cat /tmp/tmp.pr5Ab4wLki ++ rm /tmp/tmp.ONW4aO6f5v /tmp/tmp.pr5Ab4wLki ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-dfddcf789-tfntp ++ mktemp + local LAST_OUT=/tmp/tmp.zOX989esN3 ++ mktemp + local LAST_ERR=/tmp/tmp.IngYAyuxvF + 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-dfddcf789-tfntp + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zOX989esN3 + cat /tmp/tmp.IngYAyuxvF + rm /tmp/tmp.zOX989esN3 /tmp/tmp.IngYAyuxvF + return 0 2026-04-23T09:38:52.977Z INFO setup Manager starting up {"gitCommit": "20e73be336bc9107fc60a16452f9669066123774", "gitBranch": "PR-2269-20e73be3", "buildTime": "", "goVersion": "go1.25.9", "os": "linux", "arch": "amd64"} + create_namespace one-pod-19202 + local namespace=one-pod-19202 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ awk '-F ' '{print $2}' ++ tail -n1 ++ 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 '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' + '[' -n '' ']' + desc 'cleaned up old namespaces one-pod-19202' + xargs kubectl delete ns + set +o xtrace + awk '{print$1}' ----------------------------------------------------------------------------------- cleaned up old namespaces one-pod-19202 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace one-pod-19202 --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.qN6In5BZba ++ mktemp + local LAST_OUT=/tmp/tmp.a799AaPGSd + local LAST_ERR=/tmp/tmp.rCGJJbQ0Hd + local exit_status=0 + local timeout=4 ++ mktemp ++ seq 0 2 + local LAST_ERR=/tmp/tmp.xDCYhW92gz + local exit_status=0 + local timeout=4 + for i in $(seq 0 2) ++ seq 0 2 + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace one-pod-19202 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qN6In5BZba + cat /tmp/tmp.rCGJJbQ0Hd + rm /tmp/tmp.qN6In5BZba /tmp/tmp.rCGJJbQ0Hd + 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.a799AaPGSd + cat /tmp/tmp.xDCYhW92gz + rm /tmp/tmp.a799AaPGSd /tmp/tmp.xDCYhW92gz + return 0 + kubectl_bin wait --for=delete namespace one-pod-19202 ++ mktemp + local LAST_OUT=/tmp/tmp.WSxs96MIj5 ++ mktemp + local LAST_ERR=/tmp/tmp.tmTu7MIx4P + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace one-pod-19202 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WSxs96MIj5 + cat /tmp/tmp.tmTu7MIx4P + rm /tmp/tmp.WSxs96MIj5 /tmp/tmp.tmTu7MIx4P + return 0 + desc 'create namespace one-pod-19202' + set +o xtrace ----------------------------------------------------------------------------------- create namespace one-pod-19202 ----------------------------------------------------------------------------------- + kubectl_bin create namespace one-pod-19202 ++ mktemp + local LAST_OUT=/tmp/tmp.gwZCUAWYh8 ++ mktemp + local LAST_ERR=/tmp/tmp.vyJ6KhyEwh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace one-pod-19202 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.gwZCUAWYh8 namespace/one-pod-19202 created + cat /tmp/tmp.vyJ6KhyEwh + rm /tmp/tmp.gwZCUAWYh8 /tmp/tmp.vyJ6KhyEwh + return 0 + set_kube_ctx one-pod-19202 + local namespace=one-pod-19202 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.CjSuKhBCXB +++ mktemp ++ local LAST_ERR=/tmp/tmp.kiuJkW2kPt ++ 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.CjSuKhBCXB ++ cat /tmp/tmp.kiuJkW2kPt ++ rm /tmp/tmp.CjSuKhBCXB /tmp/tmp.kiuJkW2kPt ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster7 --namespace=one-pod-19202 ++ mktemp + local LAST_OUT=/tmp/tmp.tcgBMGXaAX ++ mktemp + local LAST_ERR=/tmp/tmp.W8HpaQ2328 + 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-2269-20e73be3-5-cluster7 --namespace=one-pod-19202 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tcgBMGXaAX Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2269-20e73be3-5-cluster7" modified. + cat /tmp/tmp.W8HpaQ2328 + rm /tmp/tmp.tcgBMGXaAX /tmp/tmp.W8HpaQ2328 + return 0 + 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-2269/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.85bEyz4OuA ++ mktemp + local LAST_ERR=/tmp/tmp.BYomCacaeL + 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-2269/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.85bEyz4OuA deployment.apps/psmdb-client created secret/some-users created secret/minio-secret created + cat /tmp/tmp.BYomCacaeL + rm /tmp/tmp.85bEyz4OuA /tmp/tmp.BYomCacaeL + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Thu Apr 23 09:39:31 2026 NAMESPACE: one-pod-19202 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.one-pod-19202.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace one-pod-19202 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace one-pod-19202 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace one-pod-19202 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace one-pod-19202 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MhR7x8zGVF +++ mktemp ++ local LAST_ERR=/tmp/tmp.eUVxb9EORZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MhR7x8zGVF ++ cat /tmp/tmp.eUVxb9EORZ ++ rm /tmp/tmp.MhR7x8zGVF /tmp/tmp.eUVxb9EORZ ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-wssvf + wait_pod minio-service-6d5f646cdc-wssvf + local pod=minio-service-6d5f646cdc-wssvf + set +o xtrace waiting for pod/minio-service-6d5f646cdc-wssvf to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.one-pod-19202.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + kubectl_bin run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.6EYvrWzo8v ++ mktemp + local LAST_ERR=/tmp/tmp.54m6jUb2Ds + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl run -i --rm aws-cli --image=docker.io/perconalab/awscli --restart=Never -- bash -c $'AWS_ACCESS_KEY_ID=some-access-key \t\tAWS_SECRET_ACCESS_KEY=some-secret-key \t\tAWS_DEFAULT_REGION=us-east-1 /usr/bin/aws --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6EYvrWzo8v make_bucket: operator-testing pod "aws-cli" deleted from one-pod-19202 namespace + cat /tmp/tmp.54m6jUb2Ds + rm /tmp/tmp.6EYvrWzo8v /tmp/tmp.54m6jUb2Ds + return 0 + cluster=one-pod-rs0 + spinup_psmdb one-pod-rs0 /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/one-pod-rs0.yml 1 + local cluster=one-pod-rs0 + local config=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/one-pod-rs0.yml + local size=1 + desc 'create first PSMDB cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/one-pod-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/one-pod-rs0.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/one-pod-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-2269-20e73be3"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_OUT=/tmp/tmp.djVYOibj6O + /usr/sbin/sed -e s/NAME_SPACE/one-pod-19202/g ++ mktemp + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_ERR=/tmp/tmp.qCs2fTftR9 + 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.djVYOibj6O perconaservermongodb.psmdb.percona.com/one-pod created + cat /tmp/tmp.qCs2fTftR9 + rm /tmp/tmp.djVYOibj6O /tmp/tmp.qCs2fTftR9 + return 0 + desc 'check if Pod is started' + set +o xtrace ----------------------------------------------------------------------------------- check if Pod is started ----------------------------------------------------------------------------------- + wait_for_running one-pod-rs0 1 + local name=one-pod-rs0 + let last_pod=0 + : + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=one-pod ++ seq 0 0 + for i in $(seq 0 $last_pod) + [[ 0 -eq 0 ]] ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vjNQEn67ga +++ mktemp ++ local LAST_ERR=/tmp/tmp.aWu3eqbhFq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vjNQEn67ga ++ cat /tmp/tmp.aWu3eqbhFq ++ rm /tmp/tmp.vjNQEn67ga /tmp/tmp.aWu3eqbhFq ++ return 0 + [[ false == true ]] + wait_pod one-pod-rs0-0 + local pod=one-pod-rs0-0 + set +o xtrace waiting for pod/one-pod-rs0-0 to be ready...............OK ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AwgoC1FPfH +++ mktemp ++ local LAST_ERR=/tmp/tmp.7GqG2CmHFc ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.AwgoC1FPfH ++ cat /tmp/tmp.7GqG2CmHFc ++ rm /tmp/tmp.AwgoC1FPfH /tmp/tmp.7GqG2CmHFc ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BJuEXPcvEr +++ mktemp ++ local LAST_ERR=/tmp/tmp.X0DeAKZ5VY ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BJuEXPcvEr ++ cat /tmp/tmp.X0DeAKZ5VY ++ rm /tmp/tmp.BJuEXPcvEr /tmp/tmp.X0DeAKZ5VY ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster readyness..................... + sleep 20 + compare_kubectl statefulset/one-pod-rs0 + local resource=statefulset/one-pod-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0.yml + local new_result=/tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0-oc.yml ']' + kubectl_bin get -o yaml statefulset/one-pod-rs0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("one-pod-19202", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.ByGSwaLUKK ++ mktemp + local LAST_ERR=/tmp/tmp.jmx3EcZG3N + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/one-pod-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ByGSwaLUKK + cat /tmp/tmp.jmx3EcZG3N + rm /tmp/tmp.ByGSwaLUKK /tmp/tmp.jmx3EcZG3N + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0.yml /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + log 'compare_kubectl: statefulset/one-pod-rs0 OK' + set +o xtrace [2026-04-23T09:42:04+0000] compare_kubectl: statefulset/one-pod-rs0 OK + desc 'write data' + set +o xtrace ----------------------------------------------------------------------------------- write data ----------------------------------------------------------------------------------- + run_mongo 'db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' userAdmin:userAdmin123456@one-pod-rs0.one-pod-19202 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@one-pod-rs0.one-pod-19202 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ userAdmin:userAdmin123456@one-pod-rs0.one-pod-19202 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jLsnprVeIv +++ mktemp ++ local LAST_ERR=/tmp/tmp.p3oSpT2sPP ++ 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.jLsnprVeIv ++ cat /tmp/tmp.p3oSpT2sPP ++ rm /tmp/tmp.jLsnprVeIv /tmp/tmp.p3oSpT2sPP ++ return 0 + local client_container=psmdb-client-bb8b97679-rlzml + kubectl_bin exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.03fYI7jmg8 ++ mktemp + local LAST_ERR=/tmp/tmp.AvOt4Vyyp9 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb+srv://userAdmin:userAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.03fYI7jmg8 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://one-pod-rs0-0.one-pod-rs0.one-pod-19202.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("fd54facf-86c5-4caf-af4c-7626e573d289") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.AvOt4Vyyp9 + rm /tmp/tmp.03fYI7jmg8 /tmp/tmp.AvOt4Vyyp9 + return 0 + run_mongo 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@one-pod-rs0.one-pod-19202 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@one-pod-rs0.one-pod-19202 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ myApp:myPass@one-pod-rs0.one-pod-19202 == *cfg* ]] ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wfrBKbclGa +++ mktemp ++ local LAST_ERR=/tmp/tmp.RQC0IUerIZ ++ 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.wfrBKbclGa ++ cat /tmp/tmp.RQC0IUerIZ ++ rm /tmp/tmp.wfrBKbclGa /tmp/tmp.RQC0IUerIZ ++ return 0 + local client_container=psmdb-client-bb8b97679-rlzml + kubectl_bin exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.FKC4p20fgb ++ mktemp + local LAST_ERR=/tmp/tmp.Qi9O960DP7 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb+srv://myApp:myPass@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.FKC4p20fgb Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://one-pod-rs0-0.one-pod-rs0.one-pod-19202.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0&ssl=false Implicit session: session { "id" : UUID("b81f1653-7b7b-4984-bdda-a54e71ebe20a") } Percona Server for MongoDB server version: v8.0.20-8 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.Qi9O960DP7 + rm /tmp/tmp.FKC4p20fgb /tmp/tmp.Qi9O960DP7 + return 0 + wait_cluster_consistency one-pod + local cluster_name=one-pod + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pxGseovLcj +++ mktemp ++ local LAST_ERR=/tmp/tmp.43HCFa3zzj ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pxGseovLcj ++ cat /tmp/tmp.43HCFa3zzj ++ rm /tmp/tmp.pxGseovLcj /tmp/tmp.43HCFa3zzj ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'check if service and pvc created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if service and pvc created with expected config ----------------------------------------------------------------------------------- + compare_kubectl service/one-pod-rs0 + local resource=service/one-pod-rs0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/service_one-pod-rs0.yml + local new_result=/tmp/tmp.AkYBNc0uPe/service_one-pod-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/service_one-pod-rs0-oc.yml ']' + kubectl_bin get -o yaml service/one-pod-rs0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("one-pod-19202", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.lqjmdtk45h ++ mktemp + local LAST_ERR=/tmp/tmp.vwhwKOwyft + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml service/one-pod-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.lqjmdtk45h + cat /tmp/tmp.vwhwKOwyft + rm /tmp/tmp.lqjmdtk45h /tmp/tmp.vwhwKOwyft + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.AkYBNc0uPe/service_one-pod-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.AkYBNc0uPe/service_one-pod-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.AkYBNc0uPe/service_one-pod-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/service_one-pod-rs0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/service_one-pod-rs0.yml /tmp/tmp.AkYBNc0uPe/service_one-pod-rs0.yml + log 'compare_kubectl: service/one-pod-rs0 OK' + set +o xtrace [2026-04-23T09:42:18+0000] compare_kubectl: service/one-pod-rs0 OK + compare_kubectl pvc/mongod-data-one-pod-rs0-0 + local resource=pvc/mongod-data-one-pod-rs0-0 + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/pvc_mongod-data-one-pod-rs0-0.yml + local new_result=/tmp/tmp.AkYBNc0uPe/pvc_mongod-data-one-pod-rs0-0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/pvc_mongod-data-one-pod-rs0-0-oc.yml ']' + kubectl_bin get -o yaml pvc/mongod-data-one-pod-rs0-0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("one-pod-19202", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.IlTJd4ox9b ++ mktemp + local LAST_ERR=/tmp/tmp.hhGMF3DUff + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml pvc/mongod-data-one-pod-rs0-0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.IlTJd4ox9b + cat /tmp/tmp.hhGMF3DUff + rm /tmp/tmp.IlTJd4ox9b /tmp/tmp.hhGMF3DUff + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.AkYBNc0uPe/pvc_mongod-data-one-pod-rs0-0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.AkYBNc0uPe/pvc_mongod-data-one-pod-rs0-0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.AkYBNc0uPe/pvc_mongod-data-one-pod-rs0-0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/pvc_mongod-data-one-pod-rs0-0.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/pvc_mongod-data-one-pod-rs0-0.yml /tmp/tmp.AkYBNc0uPe/pvc_mongod-data-one-pod-rs0-0.yml + log 'compare_kubectl: pvc/mongod-data-one-pod-rs0-0 OK' + set +o xtrace [2026-04-23T09:42:19+0000] compare_kubectl: pvc/mongod-data-one-pod-rs0-0 OK + desc 'check system log' + set +o xtrace ----------------------------------------------------------------------------------- check system log ----------------------------------------------------------------------------------- + run_mongo 'db.serverCmdLineOpts()' clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + local 'command=db.serverCmdLineOpts()' + local uri=clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 == *cfg* ]] + jq .parsed.systemLog + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|bye' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + /usr/sbin/sed -re 's/((Timestamp|BinData|NumberLong)\((.+?\)))/{}/g' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gwKi4Ox04r +++ mktemp ++ local LAST_ERR=/tmp/tmp.taLTteG6PX ++ 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.gwKi4Ox04r ++ cat /tmp/tmp.taLTteG6PX ++ rm /tmp/tmp.gwKi4Ox04r /tmp/tmp.taLTteG6PX ++ return 0 + local client_container=psmdb-client-bb8b97679-rlzml + kubectl_bin exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.p1lppFPd8j ++ mktemp + local LAST_ERR=/tmp/tmp.4JJPCyLb4C + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.p1lppFPd8j + cat /tmp/tmp.4JJPCyLb4C + rm /tmp/tmp.p1lppFPd8j /tmp/tmp.4JJPCyLb4C + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/serverCmdLineOpts_parsed_systemLog.json /tmp/tmp.AkYBNc0uPe/parsed_systemLog.json + desc 'create secret and check custom config' + set +o xtrace ----------------------------------------------------------------------------------- create secret and check custom config ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/mongod-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.fhbjnfi06r ++ mktemp + local LAST_ERR=/tmp/tmp.a8rDRQhPri + 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-2269/e2e-tests/one-pod/conf/mongod-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fhbjnfi06r secret/one-pod-rs0-mongod created + cat /tmp/tmp.a8rDRQhPri + rm /tmp/tmp.fhbjnfi06r /tmp/tmp.a8rDRQhPri + return 0 + wait_cluster_consistency one-pod + local cluster_name=one-pod + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.o7akDrbJwO +++ mktemp ++ local LAST_ERR=/tmp/tmp.L5WyCuNVUL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.o7akDrbJwO ++ cat /tmp/tmp.L5WyCuNVUL ++ rm /tmp/tmp.o7akDrbJwO /tmp/tmp.L5WyCuNVUL ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pmQeLodMKc +++ mktemp ++ local LAST_ERR=/tmp/tmp.D1XWDIHSWf ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pmQeLodMKc ++ cat /tmp/tmp.D1XWDIHSWf ++ rm /tmp/tmp.pmQeLodMKc /tmp/tmp.D1XWDIHSWf ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.WWFRhL1TJn +++ mktemp ++ local LAST_ERR=/tmp/tmp.YY40z4vVcD ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.WWFRhL1TJn ++ cat /tmp/tmp.YY40z4vVcD ++ rm /tmp/tmp.WWFRhL1TJn /tmp/tmp.YY40z4vVcD ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 3 -ge 32 ']' + echo -n . .+ sleep 10 ++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.QCGVZaMmR9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.QYm1qk21Qh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.QCGVZaMmR9 ++ cat /tmp/tmp.QYm1qk21Qh ++ rm /tmp/tmp.QCGVZaMmR9 /tmp/tmp.QYm1qk21Qh ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'check if statefulset created with expected config' + set +o xtrace ----------------------------------------------------------------------------------- check if statefulset created with expected config ----------------------------------------------------------------------------------- + compare_kubectl statefulset/one-pod-rs0 -secret + local resource=statefulset/one-pod-rs0 + local postfix=-secret + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0-secret.yml + local new_result=/tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + '[' -n '' -a -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0-secret-oc.yml ']' + kubectl_bin get -o yaml statefulset/one-pod-rs0 + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("one-pod-19202", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.4YxL6ZIN5F ++ mktemp + local LAST_ERR=/tmp/tmp.NBYQ2jYQha + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml statefulset/one-pod-rs0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.4YxL6ZIN5F + cat /tmp/tmp.NBYQ2jYQha + rm /tmp/tmp.4YxL6ZIN5F /tmp/tmp.NBYQ2jYQha + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + version_gt 1.22 ++ echo '1.32 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0-secret.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/statefulset_one-pod-rs0-secret.yml /tmp/tmp.AkYBNc0uPe/statefulset_one-pod-rs0.yml + log 'compare_kubectl: statefulset/one-pod-rs0 OK' + set +o xtrace [2026-04-23T09:43:04+0000] compare_kubectl: statefulset/one-pod-rs0 OK + run_mongo 'db.serverCmdLineOpts()' clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + local 'command=db.serverCmdLineOpts()' + local uri=clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + local replica_set=rs0 + [[ clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 == *cfg* ]] + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|bye' + /usr/sbin/sed -re 's/((Timestamp|BinData|NumberLong)\((.+?\)))/{}/g' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + jq .parsed.systemLog +++ mktemp ++ local LAST_OUT=/tmp/tmp.mtzt0JvZv6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CYELLjAMC4 ++ 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.mtzt0JvZv6 ++ cat /tmp/tmp.CYELLjAMC4 ++ rm /tmp/tmp.mtzt0JvZv6 /tmp/tmp.CYELLjAMC4 ++ return 0 + local client_container=psmdb-client-bb8b97679-rlzml + kubectl_bin exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.VHqpbWgpxP ++ mktemp + local LAST_ERR=/tmp/tmp.OSu9ynp3PE + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VHqpbWgpxP + cat /tmp/tmp.OSu9ynp3PE + rm /tmp/tmp.VHqpbWgpxP /tmp/tmp.OSu9ynp3PE + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/serverCmdLineOpts_parsed_systemLog_secret.json /tmp/tmp.AkYBNc0uPe/parsed_systemLog_secret.json + desc 'create secret and check custom config' + set +o xtrace ----------------------------------------------------------------------------------- create secret and check custom config ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/conf/mongod-secret-2.yml ++ mktemp + local LAST_OUT=/tmp/tmp.MnZuV0QI6M ++ mktemp + local LAST_ERR=/tmp/tmp.LfyOqzILaK + 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-2269/e2e-tests/one-pod/conf/mongod-secret-2.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MnZuV0QI6M secret/one-pod-rs0-mongod configured + cat /tmp/tmp.LfyOqzILaK + rm /tmp/tmp.MnZuV0QI6M /tmp/tmp.LfyOqzILaK + return 0 + wait_cluster_consistency one-pod + local cluster_name=one-pod + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster readyness' waiting for cluster readyness++ kubectl_bin get psmdb one-pod -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0CUSvaVhS7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.N858GOiqsL ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb one-pod -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.0CUSvaVhS7 ++ cat /tmp/tmp.N858GOiqsL ++ rm /tmp/tmp.0CUSvaVhS7 /tmp/tmp.N858GOiqsL ++ return 0 + [[ ready == ready ]] + echo .OK .OK + run_mongo 'db.serverCmdLineOpts()' clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|bye' + local 'command=db.serverCmdLineOpts()' + local uri=clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 + local driver=mongodb+srv + local suffix=.svc.cluster.local + local mongo_flag= + /usr/sbin/sed -re 's/((Timestamp|BinData|NumberLong)\((.+?\)))/{}/g' + local replica_set=rs0 + [[ clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202 == *cfg* ]] + jq .parsed.systemLog ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fYZU0Xmsru +++ mktemp ++ local LAST_ERR=/tmp/tmp.u96ts27Bl7 ++ 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.fYZU0Xmsru ++ cat /tmp/tmp.u96ts27Bl7 ++ rm /tmp/tmp.fYZU0Xmsru /tmp/tmp.u96ts27Bl7 ++ return 0 + local client_container=psmdb-client-bb8b97679-rlzml + kubectl_bin exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' ++ mktemp + local LAST_OUT=/tmp/tmp.DZaAvjvA6J ++ mktemp + local LAST_ERR=/tmp/tmp.6MCOew5vzY + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=2 + set -e + '[' 2 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.DZaAvjvA6J + cat /tmp/tmp.6MCOew5vzY DNSHostNotFound: Failed to look up service "_mongodb._tcp.one-pod-rs0.one-pod-19202.svc.cluster.local": Success try 'mongo --help' for more information command terminated with exit code 2 + sleep 0 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=2 + set -e + '[' 2 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.DZaAvjvA6J + cat /tmp/tmp.6MCOew5vzY DNSHostNotFound: Failed to look up service "_mongodb._tcp.one-pod-rs0.one-pod-19202.svc.cluster.local": Success try 'mongo --help' for more information command terminated with exit code 2 + sleep 4 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-bb8b97679-rlzml -- bash -c 'printf '\''db.serverCmdLineOpts()\n'\'' | mongo mongodb+srv://clusterAdmin:clusterAdmin123456@one-pod-rs0.one-pod-19202.svc.cluster.local/admin?ssl=false\&replicaSet=rs0 ' + exit_status=2 + set -e + '[' 2 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.DZaAvjvA6J + cat /tmp/tmp.6MCOew5vzY DNSHostNotFound: Failed to look up service "_mongodb._tcp.one-pod-rs0.one-pod-19202.svc.cluster.local": Success try 'mongo --help' for more information command terminated with exit code 2 + sleep 8 + cat /tmp/tmp.DZaAvjvA6J + cat /tmp/tmp.6MCOew5vzY DNSHostNotFound: Failed to look up service "_mongodb._tcp.one-pod-rs0.one-pod-19202.svc.cluster.local": Success try 'mongo --help' for more information command terminated with exit code 2 + rm /tmp/tmp.DZaAvjvA6J /tmp/tmp.6MCOew5vzY + return 2 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2269/e2e-tests/one-pod/compare/serverCmdLineOpts_parsed_systemLog_secret-2.json /tmp/tmp.AkYBNc0uPe/parsed_systemLog_secret-2.json 1,3d0 < { < "verbosity": 3 < }