Log: /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/logs/proxy-switch-8-0.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 + main + create_infra proxy-switch-7336 + local ns=proxy-switch-7336 + '[' -n pxc-operator ']' + grep -v NAMESPACE + kubectl get pxc --all-namespaces -o wide + xargs -L 1 sh -xc 'kubectl patch pxc -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + kubectl patch pxc -n proxy-switch-4188 proxy-switch --type=merge -p '{"metadata":{"finalizers":[]}}' perconaxtradbcluster.pxc.percona.com/proxy-switch patched + kubectl_bin delete pxc --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.7bdFsE46aL ++ mktemp + local LAST_ERR=/tmp/tmp.hV8pW152J6 + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.7bdFsE46aL perconaxtradbcluster.pxc.percona.com "proxy-switch" deleted from proxy-switch-4188 namespace + cat /tmp/tmp.hV8pW152J6 + rm /tmp/tmp.7bdFsE46aL /tmp/tmp.hV8pW152J6 + return 0 + kubectl_bin delete pxc-backup --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.gIsSw8jfWf ++ mktemp + local LAST_ERR=/tmp/tmp.EhDzfR3ywT + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc-backup --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.gIsSw8jfWf No resources found + cat /tmp/tmp.EhDzfR3ywT + rm /tmp/tmp.gIsSw8jfWf /tmp/tmp.EhDzfR3ywT + return 0 + kubectl_bin delete pxc-restore --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.ntQz5J3wOJ ++ mktemp + local LAST_ERR=/tmp/tmp.4imJyChZKM + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc-restore --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.ntQz5J3wOJ No resources found + cat /tmp/tmp.4imJyChZKM + rm /tmp/tmp.ntQz5J3wOJ /tmp/tmp.4imJyChZKM + return 0 + create_namespace pxc-operator + local namespace=pxc-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// ++ tail -n1 + local chaos_mesh_ns= + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep validate-auth + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get clusterrole + 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 ----------------------------------------------------------------------------------- + grep -E -v '^kube-|^default|Terminating|pxc-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + '[' -n '' ']' + desc 'cleaned up old namespaces pxc-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pxc-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pxc-operator ++ mktemp + kubectl_bin get ns + xargs kubectl delete ns ++ mktemp + local LAST_OUT=/tmp/tmp.BDaiIYz3gU + local LAST_OUT=/tmp/tmp.Oo4VFeqA02 ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.RlvcOj55p3 + local exit_status=0 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.mJUhbPnPLG + local exit_status=0 ++ 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 pxc-operator + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.Oo4VFeqA02 + cat /tmp/tmp.RlvcOj55p3 + rm /tmp/tmp.Oo4VFeqA02 /tmp/tmp.RlvcOj55p3 + return 0 namespace "proxy-switch-4188" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.BDaiIYz3gU namespace "pxc-operator" deleted + cat /tmp/tmp.mJUhbPnPLG + rm /tmp/tmp.BDaiIYz3gU /tmp/tmp.mJUhbPnPLG + return 0 + wait_for_delete namespace/pxc-operator + local res=namespace/pxc-operator + echo -n 'waiting for namespace/pxc-operator to be deleted' waiting for namespace/pxc-operator to be deleted+ set +o xtrace Error from server (NotFound): namespaces "pxc-operator" not found + desc 'create namespace pxc-operator' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pxc-operator ----------------------------------------------------------------------------------- + kubectl_bin create namespace pxc-operator ++ mktemp + local LAST_OUT=/tmp/tmp.pXk37eUdvS ++ mktemp + local LAST_ERR=/tmp/tmp.hr5xcf88ru + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace pxc-operator + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.pXk37eUdvS namespace/pxc-operator created + cat /tmp/tmp.hr5xcf88ru + rm /tmp/tmp.pXk37eUdvS /tmp/tmp.hr5xcf88ru + return 0 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.GtIMDqkuV8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.aVu6UQxlnQ ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.GtIMDqkuV8 ++ cat /tmp/tmp.aVu6UQxlnQ ++ rm /tmp/tmp.GtIMDqkuV8 /tmp/tmp.aVu6UQxlnQ ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1 --namespace=pxc-operator ++ mktemp + local LAST_OUT=/tmp/tmp.POPG2Bck5Z ++ mktemp + local LAST_ERR=/tmp/tmp.hHP5goEO3T + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1 --namespace=pxc-operator + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.POPG2Bck5Z Context "gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1" modified. + cat /tmp/tmp.hHP5goEO3T + rm /tmp/tmp.POPG2Bck5Z /tmp/tmp.hHP5goEO3T + return 0 + deploy_operator + desc 'start PXC operator' + set +o xtrace ----------------------------------------------------------------------------------- start PXC operator ----------------------------------------------------------------------------------- + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.ZnYk1wIaOY ++ mktemp + local LAST_ERR=/tmp/tmp.cxnisoj4O3 + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.ZnYk1wIaOY customresourcedefinition.apiextensions.k8s.io/perconaxtradbclusterbackups.pxc.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaxtradbclusterrestores.pxc.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaxtradbclusters.pxc.percona.com serverside-applied + cat /tmp/tmp.cxnisoj4O3 + rm /tmp/tmp.ZnYk1wIaOY /tmp/tmp.cxnisoj4O3 + return 0 + '[' -n pxc-operator ']' + apply_rbac cw-rbac + local operator_namespace=pxc-operator + local rbac=cw-rbac + cat /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: pxc-operator^' + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.NC9JRnaPJi ++ mktemp + local LAST_ERR=/tmp/tmp.sO7RoREgdZ + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.NC9JRnaPJi clusterrole.rbac.authorization.k8s.io/percona-xtradb-cluster-operator unchanged serviceaccount/percona-xtradb-cluster-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-xtradb-cluster-operator unchanged + cat /tmp/tmp.sO7RoREgdZ + rm /tmp/tmp.NC9JRnaPJi /tmp/tmp.sO7RoREgdZ + return 0 + cat /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/deploy/cw-operator.yaml + sed -e 's^image: .*^image: perconalab/percona-xtradb-cluster-operator:PR-2392-85035c39^' + kubectl_bin apply -f - + yq eval '(select(.kind == "Deployment").spec.template.spec.containers[] | select(.name == "percona-xtradb-cluster-operator").env[] | select(.name == "PXCO_FEATURE_GATES").value) = ""' - + yq eval '(select(.kind == "Deployment").spec.template.spec.containers[] | select(.name == "percona-xtradb-cluster-operator").env[] | select(.name == "LOG_LEVEL").value) = "VERBOSE"' - + sed -e 's^failureThreshold: .*^failureThreshold: 10^' + yq eval '(select(.kind == "Deployment").spec.template.spec.containers[] | select(.name == "percona-xtradb-cluster-operator").env[] | select(.name == "DISABLE_TELEMETRY").value) = "true"' - ++ mktemp + local LAST_OUT=/tmp/tmp.2qEBc3eR29 ++ mktemp + local LAST_ERR=/tmp/tmp.j1khtB25lr + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.2qEBc3eR29 deployment.apps/percona-xtradb-cluster-operator created service/percona-xtradb-cluster-operator created + cat /tmp/tmp.j1khtB25lr + rm /tmp/tmp.2qEBc3eR29 /tmp/tmp.j1khtB25lr + return 0 + sleep 10 + kubectl_bin wait --for=condition=Ready pods -l app.kubernetes.io/component=operator,app.kubernetes.io/instance=percona-xtradb-cluster-operator,app.kubernetes.io/name=percona-xtradb-cluster-operator --timeout=30s ++ mktemp + local LAST_OUT=/tmp/tmp.Z6xXKiAs1s ++ mktemp + local LAST_ERR=/tmp/tmp.AvhFk0EIBy + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=condition=Ready pods -l app.kubernetes.io/component=operator,app.kubernetes.io/instance=percona-xtradb-cluster-operator,app.kubernetes.io/name=percona-xtradb-cluster-operator --timeout=30s + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.Z6xXKiAs1s pod/percona-xtradb-cluster-operator-777b97d8c6-b65xz condition met + cat /tmp/tmp.AvhFk0EIBy + rm /tmp/tmp.Z6xXKiAs1s /tmp/tmp.AvhFk0EIBy + return 0 ++ get_operator_pod ++ local label_prefix=app.kubernetes.io/ +++ kubectl get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator -n pxc-operator +++ grep -c percona-xtradb-cluster-operator ++ local check_label=1 ++ [[ 1 -eq 0 ]] ++ kubectl_bin get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator --field-selector=status.phase=Running -o json -n pxc-operator +++ mktemp ++ jq -r '.items[] | select(.metadata.deletionTimestamp == null) | .metadata.name' ++ local LAST_OUT=/tmp/tmp.1NHBZ6lCRM ++ head -1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.fTaYlGuCJQ ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator --field-selector=status.phase=Running -o json -n pxc-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.1NHBZ6lCRM ++ cat /tmp/tmp.fTaYlGuCJQ ++ rm /tmp/tmp.1NHBZ6lCRM /tmp/tmp.fTaYlGuCJQ ++ return 0 + wait_pod percona-xtradb-cluster-operator-777b97d8c6-b65xz 480 pxc-operator + local pod=percona-xtradb-cluster-operator-777b97d8c6-b65xz + local max_retry=480 + local ns=pxc-operator ++ echo percona-xtradb-cluster-operator-777b97d8c6-b65xz ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/percona-xtradb-cluster-operator-777b97d8c6-b65xz condition met waiting for pod/percona-xtradb-cluster-operator-777b97d8c6-b65xz to become Ready.Ok + sleep 3 + create_namespace proxy-switch-7336 + local namespace=proxy-switch-7336 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + '[' -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 ----------------------------------------------------------------------------------- + '[' -n '' ']' + desc 'cleaned up old namespaces proxy-switch-7336' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces proxy-switch-7336 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace proxy-switch-7336 + xargs kubectl delete ns + awk '{print$1}' + grep -E -v '^kube-|^default|Terminating|pxc-operator|openshift|^gke-|^gmp-|^NAME' + kubectl_bin get ns ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.2h0oQB97ow + local LAST_OUT=/tmp/tmp.YAfietq9Cb ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.Dvt3piKzcQ + local exit_status=0 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.M7qECf8IKB + local exit_status=0 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace proxy-switch-7336 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace proxy-switch-7336 + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.YAfietq9Cb + cat /tmp/tmp.M7qECf8IKB + rm /tmp/tmp.YAfietq9Cb /tmp/tmp.M7qECf8IKB + return 0 error: resource(s) were provided, but no name was specified + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace proxy-switch-7336 + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + cat /tmp/tmp.2h0oQB97ow + cat /tmp/tmp.Dvt3piKzcQ Error from server (NotFound): namespaces "proxy-switch-7336" not found + rm /tmp/tmp.2h0oQB97ow /tmp/tmp.Dvt3piKzcQ + return 1 + : + wait_for_delete namespace/proxy-switch-7336 + local res=namespace/proxy-switch-7336 + echo -n 'waiting for namespace/proxy-switch-7336 to be deleted' waiting for namespace/proxy-switch-7336 to be deleted+ set +o xtrace Error from server (NotFound): namespaces "proxy-switch-7336" not found + desc 'create namespace proxy-switch-7336' + set +o xtrace ----------------------------------------------------------------------------------- create namespace proxy-switch-7336 ----------------------------------------------------------------------------------- + kubectl_bin create namespace proxy-switch-7336 ++ mktemp + local LAST_OUT=/tmp/tmp.FJsGLqufcW ++ mktemp + local LAST_ERR=/tmp/tmp.U1O4QoF7VM + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace proxy-switch-7336 + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.FJsGLqufcW namespace/proxy-switch-7336 created + cat /tmp/tmp.U1O4QoF7VM + rm /tmp/tmp.FJsGLqufcW /tmp/tmp.U1O4QoF7VM + return 0 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.HUetWWNuzI +++ mktemp ++ local LAST_ERR=/tmp/tmp.3VFxHDeuYV ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.HUetWWNuzI ++ cat /tmp/tmp.3VFxHDeuYV ++ rm /tmp/tmp.HUetWWNuzI /tmp/tmp.3VFxHDeuYV ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1 --namespace=proxy-switch-7336 ++ mktemp + local LAST_OUT=/tmp/tmp.OquQQfETWN ++ mktemp + local LAST_ERR=/tmp/tmp.KrDyvf8J3M + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1 --namespace=proxy-switch-7336 + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.OquQQfETWN Context "gke_cloud-dev-112233_us-central1-a_jen-pxc-2392-85035c39-7-cluster1" modified. + cat /tmp/tmp.KrDyvf8J3M + rm /tmp/tmp.OquQQfETWN /tmp/tmp.KrDyvf8J3M + return 0 + apply_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.FcNuzbnWdr ++ mktemp + local LAST_ERR=/tmp/tmp.1O65rkBBU3 + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.FcNuzbnWdr secret/minio-secret created secret/aws-s3-secret created secret/do-spaces-secret created secret/gcp-cs-secret created secret/azure-secret created + cat /tmp/tmp.1O65rkBBU3 + rm /tmp/tmp.FcNuzbnWdr /tmp/tmp.1O65rkBBU3 + return 0 + desc 'create PXC cluster with HAProxy' + set +o xtrace ----------------------------------------------------------------------------------- create PXC cluster with HAProxy ----------------------------------------------------------------------------------- + cluster=proxy-switch + spinup_pxc proxy-switch /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml 3 10 + local cluster=proxy-switch + local config=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml + local size=3 + local sleep=10 + local secretsFile=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/secrets.yml + local pxcClientFile=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml + local port=3306 + desc 'create first PXC cluster' + set +o xtrace ----------------------------------------------------------------------------------- create first PXC cluster ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/secrets.yml ++ mktemp + local LAST_OUT=/tmp/tmp.vHjrSamOmE ++ mktemp + local LAST_ERR=/tmp/tmp.jY8X8qCWiq + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/secrets.yml + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.vHjrSamOmE secret/my-cluster-secrets created secret/some-name-ssl created secret/some-name-ssl-internal created + cat /tmp/tmp.jY8X8qCWiq + rm /tmp/tmp.vHjrSamOmE /tmp/tmp.jY8X8qCWiq + return 0 + apply_config /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml + local config_file=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml + local pvc_name= + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml '' + local input_file=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml + local pvc_name= + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/conf/client.yml ++ mktemp + /usr/bin/sed -e 's#apiVersion: pxc.percona.com/v.*$#apiVersion: pxc.percona.com/v1#' + /usr/bin/sed -e 's#image:.*\/percona-xtradb-cluster:.*$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0#' + /usr/bin/sed -e 's#image:.*-init$#image: perconalab/percona-xtradb-cluster-operator:PR-2392-85035c39#' + local LAST_OUT=/tmp/tmp.GFR9ssa7wp ++ mktemp + /usr/bin/sed -e 's#image:.*-pxc\([0-9]*.[0-9]*\)\{0,1\}$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0#' + /usr/bin/sed -e 's#apply:.*#apply: Never#' + local LAST_ERR=/tmp/tmp.YL0RMBFHJv + local exit_status=0 + /usr/bin/sed -e 's#image:.*-backup$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0-backup#' + /usr/bin/sed -e 's#image:.*-proxysql$#image: perconalab/percona-xtradb-cluster-operator:main-proxysql#' + /usr/bin/sed -e 's#image:.*-haproxy$#image: perconalab/percona-xtradb-cluster-operator:main-haproxy#' + /usr/bin/sed -e s~minio-service.#namespace~minio-service.proxy-switch-7336~ + /usr/bin/sed -e 's#image:.*-logcollector$#image: perconalab/fluentbit:main-logcollector#' ++ seq 0 2 + /usr/bin/sed -e 's#claimName:..*-backup-pvc$#claimName: #' + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + /usr/bin/sed -e 's#image:.*-pmm$#image: perconalab/pmm-client:dev-latest#' + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.GFR9ssa7wp deployment.apps/pxc-client created + cat /tmp/tmp.YL0RMBFHJv + rm /tmp/tmp.GFR9ssa7wp /tmp/tmp.YL0RMBFHJv + return 0 + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + apply_config /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml + local config_file=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml + local pvc_name= + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml '' + local input_file=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml + local pvc_name= + /usr/bin/sed -e 's#image:.*-logcollector$#image: perconalab/fluentbit:main-logcollector#' + /usr/bin/sed -e s~minio-service.#namespace~minio-service.proxy-switch-7336~ + /usr/bin/sed -e 's#apply:.*#apply: Never#' + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/conf/proxy-switch.yml + /usr/bin/sed -e 's#image:.*-haproxy$#image: perconalab/percona-xtradb-cluster-operator:main-haproxy#' ++ mktemp + local LAST_OUT=/tmp/tmp.lrCuIhnTjp ++ mktemp + local LAST_ERR=/tmp/tmp.c2KR9UM5fI + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + /usr/bin/sed -e 's#apiVersion: pxc.percona.com/v.*$#apiVersion: pxc.percona.com/v1#' + /usr/bin/sed -e 's#image:.*-pxc\([0-9]*.[0-9]*\)\{0,1\}$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0#' + /usr/bin/sed -e 's#image:.*\/percona-xtradb-cluster:.*$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0#' + /usr/bin/sed -e 's#image:.*-init$#image: perconalab/percona-xtradb-cluster-operator:PR-2392-85035c39#' + /usr/bin/sed -e 's#image:.*-pmm$#image: perconalab/pmm-client:dev-latest#' + /usr/bin/sed -e 's#image:.*-backup$#image: perconalab/percona-xtradb-cluster-operator:main-pxc8.0-backup#' + /usr/bin/sed -e 's#claimName:..*-backup-pvc$#claimName: #' + /usr/bin/sed -e 's#image:.*-proxysql$#image: perconalab/percona-xtradb-cluster-operator:main-proxysql#' + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.lrCuIhnTjp perconaxtradbcluster.pxc.percona.com/proxy-switch created + cat /tmp/tmp.c2KR9UM5fI + rm /tmp/tmp.lrCuIhnTjp /tmp/tmp.c2KR9UM5fI + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- ++ get_proxy proxy-switch ++ local target_cluster=proxy-switch +++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.oDnOYDc9zN ++++ mktemp +++ local LAST_ERR=/tmp/tmp.UvuVcP7wOI +++ local exit_status=0 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 ']' +++ break +++ cat /tmp/tmp.oDnOYDc9zN +++ cat /tmp/tmp.UvuVcP7wOI +++ rm /tmp/tmp.oDnOYDc9zN /tmp/tmp.UvuVcP7wOI +++ return 0 ++ [[ true == \t\r\u\e ]] ++ echo proxy-switch-haproxy ++ return + local proxy=proxy-switch-haproxy + kubectl_bin wait --for=condition=Ready pod -l app.kubernetes.io/instance=monitoring,app.kubernetes.io/managed-by=percona-xtradb-cluster-operator --timeout=300s -n proxy-switch-7336 ++ mktemp + local LAST_OUT=/tmp/tmp.ufAvXgVFrP ++ mktemp + local LAST_ERR=/tmp/tmp.S0hM3dWtoH + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=condition=Ready pod -l app.kubernetes.io/instance=monitoring,app.kubernetes.io/managed-by=percona-xtradb-cluster-operator --timeout=300s -n proxy-switch-7336 + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=condition=Ready pod -l app.kubernetes.io/instance=monitoring,app.kubernetes.io/managed-by=percona-xtradb-cluster-operator --timeout=300s -n proxy-switch-7336 + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=condition=Ready pod -l app.kubernetes.io/instance=monitoring,app.kubernetes.io/managed-by=percona-xtradb-cluster-operator --timeout=300s -n proxy-switch-7336 + exit_status=1 + set -e + '[' 1 '!=' 0 ']' + '[' 1 == 1 ']' + sleep 0 + cat /tmp/tmp.ufAvXgVFrP + cat /tmp/tmp.S0hM3dWtoH error: no matching resources found + rm /tmp/tmp.ufAvXgVFrP /tmp/tmp.S0hM3dWtoH + return 1 + true + wait_for_running proxy-switch-haproxy 1 + local name=proxy-switch-haproxy + let last_pod=0 + : + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 0 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-0 480 + local pod=proxy-switch-haproxy-0 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-0 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/proxy-switch-haproxy-0 condition met waiting for pod/proxy-switch-haproxy-0 to become Ready.Ok + wait_for_running proxy-switch-pxc 3 + local name=proxy-switch-pxc + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-0 480 + local pod=proxy-switch-pxc-0 + local max_retry=480 + local ns= ++ echo proxy-switch-pxc-0 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-0 condition met waiting for pod/proxy-switch-pxc-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-1 480 + local pod=proxy-switch-pxc-1 + local max_retry=480 + local ns= ++ echo proxy-switch-pxc-1 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-1 condition met waiting for pod/proxy-switch-pxc-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-2 480 + local pod=proxy-switch-pxc-2 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-pxc-2 + local container=pxc + set +o xtrace pod/proxy-switch-pxc-2 condition met waiting for pod/proxy-switch-pxc-2 to become Ready.Ok + sleep 10 ++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.secretsName}' + local secret_name=my-cluster-secrets ++ getSecretData my-cluster-secrets root ++ local secretName=my-cluster-secrets ++ local dataKey=root ++ base64 --decode ++ kubectl_bin get secrets/my-cluster-secrets '--template={{.data.root}}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7BOJbJ4cpL +++ mktemp ++ local LAST_ERR=/tmp/tmp.RSimSl5GIT ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get secrets/my-cluster-secrets '--template={{.data.root}}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.7BOJbJ4cpL ++ cat /tmp/tmp.RSimSl5GIT ++ rm /tmp/tmp.7BOJbJ4cpL /tmp/tmp.RSimSl5GIT ++ return 0 + local root_pass=root_password + desc 'write data' + set +o xtrace ----------------------------------------------------------------------------------- write data ----------------------------------------------------------------------------------- + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY) ;' '-h proxy-switch-haproxy -uroot -p'\''root_password'\'' -P3306' + local 'command=CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY) ;' + local 'uri=-h proxy-switch-haproxy -uroot -p'\''root_password'\'' -P3306' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.npCKlKqd0z +++ mktemp ++ local LAST_ERR=/tmp/tmp.40urKZzw6n ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.npCKlKqd0z ++ cat /tmp/tmp.40urKZzw6n ++ rm /tmp/tmp.npCKlKqd0z /tmp/tmp.40urKZzw6n ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + run_mysql 'INSERT myApp.myApp (id) VALUES (100500)' '-h proxy-switch-haproxy -uroot -p'\''root_password'\'' -P3306' + local 'command=INSERT myApp.myApp (id) VALUES (100500)' + local 'uri=-h proxy-switch-haproxy -uroot -p'\''root_password'\'' -P3306' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5nHBw3pPSn +++ mktemp ++ local LAST_ERR=/tmp/tmp.MC7s3mmvDN ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.5nHBw3pPSn ++ cat /tmp/tmp.MC7s3mmvDN ++ rm /tmp/tmp.5nHBw3pPSn /tmp/tmp.MC7s3mmvDN ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + sleep 30 ++ seq 0 2 + for i in '$(seq 0 $((size - 1)))' + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0dVIiwLz9W +++ mktemp ++ local LAST_ERR=/tmp/tmp.M8tjpYf77S ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.0dVIiwLz9W ++ cat /tmp/tmp.M8tjpYf77S ++ rm /tmp/tmp.0dVIiwLz9W /tmp/tmp.M8tjpYf77S ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + for i in '$(seq 0 $((size - 1)))' + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.V60LktFl93 +++ mktemp ++ local LAST_ERR=/tmp/tmp.9PY4PrA1bs ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.V60LktFl93 ++ cat /tmp/tmp.9PY4PrA1bs ++ rm /tmp/tmp.V60LktFl93 /tmp/tmp.9PY4PrA1bs ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + for i in '$(seq 0 $((size - 1)))' + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -p'\''root_password'\'' -P3306' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.wZS9XTQO3c +++ mktemp ++ local LAST_ERR=/tmp/tmp.R7QvFfVFst ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.wZS9XTQO3c ++ cat /tmp/tmp.R7QvFfVFst ++ rm /tmp/tmp.wZS9XTQO3c /tmp/tmp.R7QvFfVFst ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + is_keyring_plugin_in_use proxy-switch + local cluster=proxy-switch + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + kubectl exec proxy-switch-pxc-0 -c pxc -- bash -c 'cat /etc/mysql/node.cnf' + grep -E -o 'early-plugin-load=keyring_\w+.so' + return 1 + desc 'check cluster is ready with HAProxy' + set +o xtrace ----------------------------------------------------------------------------------- check cluster is ready with HAProxy ----------------------------------------------------------------------------------- + wait_for_running proxy-switch-pxc 3 + local name=proxy-switch-pxc + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-0 480 + local pod=proxy-switch-pxc-0 + local max_retry=480 + local ns= ++ echo proxy-switch-pxc-0 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-0 condition met waiting for pod/proxy-switch-pxc-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-1 480 + local pod=proxy-switch-pxc-1 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-pxc-1 + local container=pxc + set +o xtrace pod/proxy-switch-pxc-1 condition met waiting for pod/proxy-switch-pxc-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-2 480 + local pod=proxy-switch-pxc-2 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo proxy-switch-pxc-2 ++ grep -E '^(pxc|proxysql)$' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-2 condition met waiting for pod/proxy-switch-pxc-2 to become Ready.Ok + wait_for_running proxy-switch-haproxy 3 + local name=proxy-switch-haproxy + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-0 480 + local pod=proxy-switch-haproxy-0 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-haproxy-0 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/proxy-switch-haproxy-0 condition met waiting for pod/proxy-switch-haproxy-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-1 480 + local pod=proxy-switch-haproxy-1 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-1 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/proxy-switch-haproxy-1 condition met waiting for pod/proxy-switch-haproxy-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-2 480 + local pod=proxy-switch-haproxy-2 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-2 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/proxy-switch-haproxy-2 condition met waiting for pod/proxy-switch-haproxy-2 to become Ready.Ok + wait_cluster_consistency proxy-switch 3 3 + local cluster_name=proxy-switch + local cluster_size=3 + local proxy_size=3 + '[' -z 3 ']' + desc 'wait cluster consistency' + set +o xtrace ----------------------------------------------------------------------------------- wait cluster consistency ----------------------------------------------------------------------------------- + local i=0 + local max=300 + sleep 7 + echo -n 'waiting for pxc/proxy-switch to be ready' waiting for pxc/proxy-switch to be ready++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.oJpsFJWmfo +++ mktemp ++ local LAST_ERR=/tmp/tmp.CF9JeZO3to ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.oJpsFJWmfo ++ cat /tmp/tmp.CF9JeZO3to ++ rm /tmp/tmp.oJpsFJWmfo /tmp/tmp.CF9JeZO3to ++ return 0 + [[ ready == \r\e\a\d\y ]] ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gq7tYci11n +++ mktemp ++ local LAST_ERR=/tmp/tmp.5FUHaEmyto ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.gq7tYci11n ++ cat /tmp/tmp.5FUHaEmyto ++ rm /tmp/tmp.gq7tYci11n /tmp/tmp.5FUHaEmyto ++ return 0 + [[ 3 == \3 ]] +++ get_proxy_engine proxy-switch +++ local cluster_name=proxy-switch ++++ get_proxy proxy-switch ++++ local target_cluster=proxy-switch +++++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' ++++++ mktemp +++++ local LAST_OUT=/tmp/tmp.EIB46JsZup ++++++ mktemp +++++ local LAST_ERR=/tmp/tmp.SRAofIEqmm +++++ local exit_status=0 ++++++ seq 0 2 +++++ for i in '$(seq 0 2)' +++++ set +e +++++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' +++++ exit_status=0 +++++ set -e +++++ '[' 0 '!=' 0 ']' +++++ break +++++ cat /tmp/tmp.EIB46JsZup +++++ cat /tmp/tmp.SRAofIEqmm +++++ rm /tmp/tmp.EIB46JsZup /tmp/tmp.SRAofIEqmm +++++ return 0 ++++ [[ true == \t\r\u\e ]] ++++ echo proxy-switch-haproxy ++++ return +++ local cluster_proxy=proxy-switch-haproxy +++ echo haproxy ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IjzewFNeor +++ mktemp ++ local LAST_ERR=/tmp/tmp.oLMYDRFfpO ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.IjzewFNeor ++ cat /tmp/tmp.oLMYDRFfpO ++ rm /tmp/tmp.IjzewFNeor /tmp/tmp.oLMYDRFfpO ++ return 0 + [[ 3 == \3 ]] + echo + desc 'write data and check connectivity through HAProxy' + set +o xtrace ----------------------------------------------------------------------------------- write data and check connectivity through HAProxy ----------------------------------------------------------------------------------- + run_mysql 'CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY);' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY);' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FwghuYcLL3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.5SOen2Drbw ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.FwghuYcLL3 ++ cat /tmp/tmp.5SOen2Drbw ++ rm /tmp/tmp.FwghuYcLL3 /tmp/tmp.5SOen2Drbw ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + run_mysql 'INSERT myApp.myApp (id) VALUES (100500)' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=INSERT myApp.myApp (id) VALUES (100500)' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.x9QiojuEt5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Gm0vz6OwLp ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.x9QiojuEt5 ++ cat /tmp/tmp.Gm0vz6OwLp ++ rm /tmp/tmp.x9QiojuEt5 /tmp/tmp.Gm0vz6OwLp ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace ERROR 1062 (23000) at line 1: Duplicate entry '100500' for key 'myApp.PRIMARY' command terminated with exit code 1 + sleep 10 + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-haproxy -uroot -proot_password' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SDz5qEV6ht +++ mktemp ++ local LAST_ERR=/tmp/tmp.EBilb61BEJ ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.SDz5qEV6ht ++ cat /tmp/tmp.EBilb61BEJ ++ rm /tmp/tmp.SDz5qEV6ht /tmp/tmp.EBilb61BEJ ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + desc 'verify data exists on all PXC nodes' + set +o xtrace ----------------------------------------------------------------------------------- verify data exists on all PXC nodes ----------------------------------------------------------------------------------- + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3Fdx38X2RH +++ mktemp ++ local LAST_ERR=/tmp/tmp.aniGMN1YJD ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.3Fdx38X2RH ++ cat /tmp/tmp.aniGMN1YJD ++ rm /tmp/tmp.3Fdx38X2RH /tmp/tmp.aniGMN1YJD ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sxul7YoTEK +++ mktemp ++ local LAST_ERR=/tmp/tmp.enSVdxcC6Y ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.sxul7YoTEK ++ cat /tmp/tmp.enSVdxcC6Y ++ rm /tmp/tmp.sxul7YoTEK /tmp/tmp.enSVdxcC6Y ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UT4dqjyZD7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.BfCcaZkbDN ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.UT4dqjyZD7 ++ cat /tmp/tmp.BfCcaZkbDN ++ rm /tmp/tmp.UT4dqjyZD7 /tmp/tmp.BfCcaZkbDN ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + desc 'switch from HAProxy to ProxySQL' + set +o xtrace ----------------------------------------------------------------------------------- switch from HAProxy to ProxySQL ----------------------------------------------------------------------------------- + kubectl_bin patch pxc proxy-switch --type=json -p '[ {"op": "replace", "path": "/spec/haproxy/enabled", "value": false}, {"op": "replace", "path": "/spec/proxysql/enabled", "value": true} ]' ++ mktemp + local LAST_OUT=/tmp/tmp.NnzgUVYdkX ++ mktemp + local LAST_ERR=/tmp/tmp.UamJQm9Rbt + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch pxc proxy-switch --type=json -p '[ {"op": "replace", "path": "/spec/haproxy/enabled", "value": false}, {"op": "replace", "path": "/spec/proxysql/enabled", "value": true} ]' + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.NnzgUVYdkX perconaxtradbcluster.pxc.percona.com/proxy-switch patched + cat /tmp/tmp.UamJQm9Rbt + rm /tmp/tmp.NnzgUVYdkX /tmp/tmp.UamJQm9Rbt + return 0 + desc 'wait for ProxySQL to be ready and HAProxy to be removed' + set +o xtrace ----------------------------------------------------------------------------------- wait for ProxySQL to be ready and HAProxy to be removed ----------------------------------------------------------------------------------- + wait_for_delete sts/proxy-switch-haproxy + local res=sts/proxy-switch-haproxy + echo -n 'waiting for sts/proxy-switch-haproxy to be deleted' waiting for sts/proxy-switch-haproxy to be deleted+ set +o xtrace Error from server (NotFound): statefulsets.apps "proxy-switch-haproxy" not found + wait_for_running proxy-switch-proxysql 3 + local name=proxy-switch-proxysql + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-proxysql-0 480 + local pod=proxy-switch-proxysql-0 + local max_retry=480 + local ns= ++ echo proxy-switch-proxysql-0 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container=proxysql + set +o xtrace pod/proxy-switch-proxysql-0 condition met waiting for pod/proxy-switch-proxysql-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-proxysql-1 480 + local pod=proxy-switch-proxysql-1 + local max_retry=480 + local ns= ++ echo proxy-switch-proxysql-1 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container=proxysql + set +o xtrace pod/proxy-switch-proxysql-1 condition met waiting for pod/proxy-switch-proxysql-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-proxysql-2 480 + local pod=proxy-switch-proxysql-2 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo proxy-switch-proxysql-2 + local container=proxysql + set +o xtrace pod/proxy-switch-proxysql-2 condition met waiting for pod/proxy-switch-proxysql-2 to become Ready.Ok + wait_cluster_consistency proxy-switch 3 3 + local cluster_name=proxy-switch + local cluster_size=3 + local proxy_size=3 + '[' -z 3 ']' + desc 'wait cluster consistency' + set +o xtrace ----------------------------------------------------------------------------------- wait cluster consistency ----------------------------------------------------------------------------------- + local i=0 + local max=300 + sleep 7 + echo -n 'waiting for pxc/proxy-switch to be ready' waiting for pxc/proxy-switch to be ready++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MBWLT2wlRC +++ mktemp ++ local LAST_ERR=/tmp/tmp.HUJ4iNHJIQ ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.MBWLT2wlRC ++ cat /tmp/tmp.HUJ4iNHJIQ ++ rm /tmp/tmp.MBWLT2wlRC /tmp/tmp.HUJ4iNHJIQ ++ return 0 + [[ ready == \r\e\a\d\y ]] ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.3u6WbzqTBP +++ mktemp ++ local LAST_ERR=/tmp/tmp.IEKwuoJ5Od ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.3u6WbzqTBP ++ cat /tmp/tmp.IEKwuoJ5Od ++ rm /tmp/tmp.3u6WbzqTBP /tmp/tmp.IEKwuoJ5Od ++ return 0 + [[ 3 == \3 ]] +++ get_proxy_engine proxy-switch +++ local cluster_name=proxy-switch ++++ get_proxy proxy-switch ++++ local target_cluster=proxy-switch +++++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' ++++++ mktemp +++++ local LAST_OUT=/tmp/tmp.YpCPkVI00k ++++++ mktemp +++++ local LAST_ERR=/tmp/tmp.ldsScXMrgB +++++ local exit_status=0 ++++++ seq 0 2 +++++ for i in '$(seq 0 2)' +++++ set +e +++++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' +++++ exit_status=0 +++++ set -e +++++ '[' 0 '!=' 0 ']' +++++ break +++++ cat /tmp/tmp.YpCPkVI00k +++++ cat /tmp/tmp.ldsScXMrgB +++++ rm /tmp/tmp.YpCPkVI00k /tmp/tmp.ldsScXMrgB +++++ return 0 ++++ [[ false == \t\r\u\e ]] +++++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.proxysql.enabled}' ++++++ mktemp +++++ local LAST_OUT=/tmp/tmp.9XmxzAxD14 ++++++ mktemp +++++ local LAST_ERR=/tmp/tmp.PjMmzTVTCg +++++ local exit_status=0 ++++++ seq 0 2 +++++ for i in '$(seq 0 2)' +++++ set +e +++++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.proxysql.enabled}' +++++ exit_status=0 +++++ set -e +++++ '[' 0 '!=' 0 ']' +++++ break +++++ cat /tmp/tmp.9XmxzAxD14 +++++ cat /tmp/tmp.PjMmzTVTCg +++++ rm /tmp/tmp.9XmxzAxD14 /tmp/tmp.PjMmzTVTCg +++++ return 0 ++++ [[ true == \t\r\u\e ]] ++++ echo proxy-switch-proxysql ++++ return +++ local cluster_proxy=proxy-switch-proxysql +++ echo proxysql ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.proxysql.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hUOjsGBNdF +++ mktemp ++ local LAST_ERR=/tmp/tmp.Iu02BBsajP ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.proxysql.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.hUOjsGBNdF ++ cat /tmp/tmp.Iu02BBsajP ++ rm /tmp/tmp.hUOjsGBNdF /tmp/tmp.Iu02BBsajP ++ return 0 + [[ 3 == \3 ]] + echo + desc 'verify HAProxy pods are deleted' + set +o xtrace ----------------------------------------------------------------------------------- verify HAProxy pods are deleted ----------------------------------------------------------------------------------- + grep -q haproxy + kubectl_bin get pods -l app.kubernetes.io/name=percona-xtradb-cluster,app.kubernetes.io/instance=proxy-switch,app.kubernetes.io/component=haproxy + desc 'verify ProxySQL service exists' + set +o xtrace ----------------------------------------------------------------------------------- verify ProxySQL service exists ----------------------------------------------------------------------------------- + kubectl_bin get service proxy-switch-proxysql ++ mktemp + local LAST_OUT=/tmp/tmp.jq6C6pvz5L ++ mktemp + local LAST_ERR=/tmp/tmp.ibKuN9WaKn + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get service proxy-switch-proxysql + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.jq6C6pvz5L NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE proxy-switch-proxysql ClusterIP 34.118.232.136 3306/TCP,33062/TCP,6070/TCP 76s + cat /tmp/tmp.ibKuN9WaKn + rm /tmp/tmp.jq6C6pvz5L /tmp/tmp.ibKuN9WaKn + return 0 + desc 'check connectivity through ProxySQL after switch' + set +o xtrace ----------------------------------------------------------------------------------- check connectivity through ProxySQL after switch ----------------------------------------------------------------------------------- + sleep 20 + compare_mysql_cmd select-1 'SELECT * from myApp.myApp;' '-h proxy-switch-proxysql -uroot -proot_password' + local command_id=select-1 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-proxysql -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-proxysql -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-proxysql -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.eM5Ln1UYEr +++ mktemp ++ local LAST_ERR=/tmp/tmp.bKNzccYU0I ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.eM5Ln1UYEr ++ cat /tmp/tmp.bKNzccYU0I ++ rm /tmp/tmp.eM5Ln1UYEr /tmp/tmp.bKNzccYU0I ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-1.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-1.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-1.sql /tmp/tmp.94dTelc6CW/select-1.sql + desc 'write new data through ProxySQL' + set +o xtrace ----------------------------------------------------------------------------------- write new data through ProxySQL ----------------------------------------------------------------------------------- + run_mysql 'INSERT myApp.myApp (id) VALUES (100501)' '-h proxy-switch-proxysql -uroot -proot_password' + local 'command=INSERT myApp.myApp (id) VALUES (100501)' + local 'uri=-h proxy-switch-proxysql -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rweXhOvPaE +++ mktemp ++ local LAST_ERR=/tmp/tmp.uMuWXuExaN ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.rweXhOvPaE ++ cat /tmp/tmp.uMuWXuExaN ++ rm /tmp/tmp.rweXhOvPaE /tmp/tmp.uMuWXuExaN ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + sleep 10 + compare_mysql_cmd select-2 'SELECT * from myApp.myApp;' '-h proxy-switch-proxysql -uroot -proot_password' + local command_id=select-2 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-proxysql -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-proxysql -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-proxysql -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.py8rmiyyts +++ mktemp ++ local LAST_ERR=/tmp/tmp.28YR7RERXZ ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.py8rmiyyts ++ cat /tmp/tmp.28YR7RERXZ ++ rm /tmp/tmp.py8rmiyyts /tmp/tmp.28YR7RERXZ ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-2.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-2.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql /tmp/tmp.94dTelc6CW/select-2.sql + desc 'verify new data exists on all PXC nodes' + set +o xtrace ----------------------------------------------------------------------------------- verify new data exists on all PXC nodes ----------------------------------------------------------------------------------- + compare_mysql_cmd select-2 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local command_id=select-2 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dAJ6fKQSLv +++ mktemp ++ local LAST_ERR=/tmp/tmp.3JI2THw3Gu ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.dAJ6fKQSLv ++ cat /tmp/tmp.3JI2THw3Gu ++ rm /tmp/tmp.dAJ6fKQSLv /tmp/tmp.3JI2THw3Gu ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-2.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-2.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql /tmp/tmp.94dTelc6CW/select-2.sql + compare_mysql_cmd select-2 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local command_id=select-2 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.brknwz3uCd +++ mktemp ++ local LAST_ERR=/tmp/tmp.rpfzvIZyvV ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.brknwz3uCd ++ cat /tmp/tmp.rpfzvIZyvV ++ rm /tmp/tmp.brknwz3uCd /tmp/tmp.rpfzvIZyvV ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-2.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-2.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql /tmp/tmp.94dTelc6CW/select-2.sql + compare_mysql_cmd select-2 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local command_id=select-2 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Nap0QJtcGl +++ mktemp ++ local LAST_ERR=/tmp/tmp.gqknieVb82 ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.Nap0QJtcGl ++ cat /tmp/tmp.gqknieVb82 ++ rm /tmp/tmp.Nap0QJtcGl /tmp/tmp.gqknieVb82 ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-2.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-2.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-2.sql /tmp/tmp.94dTelc6CW/select-2.sql + desc 'verify ProxySQL is routing to primary' + set +o xtrace ----------------------------------------------------------------------------------- verify ProxySQL is routing to primary ----------------------------------------------------------------------------------- ++ get_proxy_primary '-h127.0.0.1 -P6032 -uproxyadmin -padmin_password' proxy-switch-proxysql-0 ++ local 'uri=-h127.0.0.1 -P6032 -uproxyadmin -padmin_password' ++ local pod=proxy-switch-proxysql-0 +++ run_mysql_local 'SELECT hostname FROM runtime_mysql_servers WHERE hostgroup_id=11 AND status='\''ONLINE'\'';' '-h127.0.0.1 -P6032 -uproxyadmin -padmin_password' proxy-switch-proxysql-0 proxysql +++ local 'command=SELECT hostname FROM runtime_mysql_servers WHERE hostgroup_id=11 AND status='\''ONLINE'\'';' +++ local 'uri=-h127.0.0.1 -P6032 -uproxyadmin -padmin_password' +++ local pod=proxy-switch-proxysql-0 +++ local container_name=proxysql +++ set +o xtrace ++ local ip=proxy-switch-pxc-0.proxy-switch-pxc.proxy-switch-7336.svc.cluster.local +++ echo proxy-switch-pxc-0.proxy-switch-pxc.proxy-switch-7336.svc.cluster.local +++ wc -l ++ '[' 1 '!=' 1 ']' ++ cut -d. -f1 ++ echo proxy-switch-pxc-0.proxy-switch-pxc.proxy-switch-7336.svc.cluster.local + initial_primary=proxy-switch-pxc-0 + '[' -z proxy-switch-pxc-0 ']' + echo 'ProxySQL is routing to primary: proxy-switch-pxc-0' ProxySQL is routing to primary: proxy-switch-pxc-0 + desc 'switch back to HAProxy from ProxySQL' + set +o xtrace ----------------------------------------------------------------------------------- switch back to HAProxy from ProxySQL ----------------------------------------------------------------------------------- + kubectl_bin patch pxc proxy-switch --type=json -p '[ {"op": "replace", "path": "/spec/haproxy/enabled", "value": true}, {"op": "replace", "path": "/spec/proxysql/enabled", "value": false} ]' ++ mktemp + local LAST_OUT=/tmp/tmp.vMeGUqnAzF ++ mktemp + local LAST_ERR=/tmp/tmp.HhRKGuMWCs + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl patch pxc proxy-switch --type=json -p '[ {"op": "replace", "path": "/spec/haproxy/enabled", "value": true}, {"op": "replace", "path": "/spec/proxysql/enabled", "value": false} ]' + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.vMeGUqnAzF perconaxtradbcluster.pxc.percona.com/proxy-switch patched + cat /tmp/tmp.HhRKGuMWCs + rm /tmp/tmp.vMeGUqnAzF /tmp/tmp.HhRKGuMWCs + return 0 + desc 'wait for HAProxy to be ready and ProxySQL to be removed' + set +o xtrace ----------------------------------------------------------------------------------- wait for HAProxy to be ready and ProxySQL to be removed ----------------------------------------------------------------------------------- + wait_for_delete sts/proxy-switch-proxysql + local res=sts/proxy-switch-proxysql + echo -n 'waiting for sts/proxy-switch-proxysql to be deleted' waiting for sts/proxy-switch-proxysql to be deleted+ set +o xtrace Error from server (NotFound): statefulsets.apps "proxy-switch-proxysql" not found + wait_for_running proxy-switch-haproxy 3 + local name=proxy-switch-haproxy + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-0 480 + local pod=proxy-switch-haproxy-0 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-0 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/proxy-switch-haproxy-0 condition met waiting for pod/proxy-switch-haproxy-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-1 480 + local pod=proxy-switch-haproxy-1 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo proxy-switch-haproxy-1 + local container= + set +o xtrace pod/proxy-switch-haproxy-1 condition met waiting for pod/proxy-switch-haproxy-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-2 480 + local pod=proxy-switch-haproxy-2 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-2 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/proxy-switch-haproxy-2 condition met waiting for pod/proxy-switch-haproxy-2 to become Ready.Ok + wait_cluster_consistency proxy-switch 3 3 + local cluster_name=proxy-switch + local cluster_size=3 + local proxy_size=3 + '[' -z 3 ']' + desc 'wait cluster consistency' + set +o xtrace ----------------------------------------------------------------------------------- wait cluster consistency ----------------------------------------------------------------------------------- + local i=0 + local max=300 + sleep 7 + echo -n 'waiting for pxc/proxy-switch to be ready' waiting for pxc/proxy-switch to be ready++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.O3aZnboDv9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.QndiUSH1AN ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.O3aZnboDv9 ++ cat /tmp/tmp.QndiUSH1AN ++ rm /tmp/tmp.O3aZnboDv9 /tmp/tmp.QndiUSH1AN ++ return 0 + [[ ready == \r\e\a\d\y ]] ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.w3yub97MEY +++ mktemp ++ local LAST_ERR=/tmp/tmp.b1M19MPXd6 ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.w3yub97MEY ++ cat /tmp/tmp.b1M19MPXd6 ++ rm /tmp/tmp.w3yub97MEY /tmp/tmp.b1M19MPXd6 ++ return 0 + [[ 3 == \3 ]] +++ get_proxy_engine proxy-switch +++ local cluster_name=proxy-switch ++++ get_proxy proxy-switch ++++ local target_cluster=proxy-switch +++++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' ++++++ mktemp +++++ local LAST_OUT=/tmp/tmp.lpG3luQLOG ++++++ mktemp +++++ local LAST_ERR=/tmp/tmp.NoEqG5r9f2 +++++ local exit_status=0 ++++++ seq 0 2 +++++ for i in '$(seq 0 2)' +++++ set +e +++++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' +++++ exit_status=0 +++++ set -e +++++ '[' 0 '!=' 0 ']' +++++ break +++++ cat /tmp/tmp.lpG3luQLOG +++++ cat /tmp/tmp.NoEqG5r9f2 +++++ rm /tmp/tmp.lpG3luQLOG /tmp/tmp.NoEqG5r9f2 +++++ return 0 ++++ [[ true == \t\r\u\e ]] ++++ echo proxy-switch-haproxy ++++ return +++ local cluster_proxy=proxy-switch-haproxy +++ echo haproxy ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5NMoC3WClY +++ mktemp ++ local LAST_ERR=/tmp/tmp.Nt6QM97IOF ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.5NMoC3WClY ++ cat /tmp/tmp.Nt6QM97IOF ++ rm /tmp/tmp.5NMoC3WClY /tmp/tmp.Nt6QM97IOF ++ return 0 + [[ 3 == \3 ]] + echo + desc 'verify ProxySQL pods are deleted' + set +o xtrace ----------------------------------------------------------------------------------- verify ProxySQL pods are deleted ----------------------------------------------------------------------------------- + kubectl_bin get pods -l app.kubernetes.io/name=percona-xtradb-cluster,app.kubernetes.io/instance=proxy-switch,app.kubernetes.io/component=proxysql + grep -q proxysql + desc 'check cluster is ready with HAProxy' + set +o xtrace ----------------------------------------------------------------------------------- check cluster is ready with HAProxy ----------------------------------------------------------------------------------- + wait_for_running proxy-switch-pxc 3 + local name=proxy-switch-pxc + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-0 480 + local pod=proxy-switch-pxc-0 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo proxy-switch-pxc-0 ++ grep -E '^(pxc|proxysql)$' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-0 condition met waiting for pod/proxy-switch-pxc-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-1 480 + local pod=proxy-switch-pxc-1 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ echo proxy-switch-pxc-1 + local container=pxc + set +o xtrace pod/proxy-switch-pxc-1 condition met waiting for pod/proxy-switch-pxc-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-pxc-2 480 + local pod=proxy-switch-pxc-2 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-pxc-2 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container=pxc + set +o xtrace pod/proxy-switch-pxc-2 condition met waiting for pod/proxy-switch-pxc-2 to become Ready.Ok + wait_for_running proxy-switch-haproxy 3 + local name=proxy-switch-haproxy + let last_pod=2 + local max_retry=480 + desc 'wait for running cluster' + set +o xtrace ----------------------------------------------------------------------------------- wait for running cluster ----------------------------------------------------------------------------------- ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-0 480 + local pod=proxy-switch-haproxy-0 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-haproxy-0 + local container= + set +o xtrace pod/proxy-switch-haproxy-0 condition met waiting for pod/proxy-switch-haproxy-0 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-1 480 + local pod=proxy-switch-haproxy-1 + local max_retry=480 + local ns= ++ grep -E '^(pxc|proxysql)$' ++ echo proxy-switch-haproxy-1 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/proxy-switch-haproxy-1 condition met waiting for pod/proxy-switch-haproxy-1 to become Ready.Ok + for i in '$(seq 0 $last_pod)' + wait_pod proxy-switch-haproxy-2 480 + local pod=proxy-switch-haproxy-2 + local max_retry=480 + local ns= ++ echo proxy-switch-haproxy-2 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/proxy-switch-haproxy-2 condition met waiting for pod/proxy-switch-haproxy-2 to become Ready.Ok + wait_cluster_consistency proxy-switch 3 3 + local cluster_name=proxy-switch + local cluster_size=3 + local proxy_size=3 + '[' -z 3 ']' + desc 'wait cluster consistency' + set +o xtrace ----------------------------------------------------------------------------------- wait cluster consistency ----------------------------------------------------------------------------------- + local i=0 + local max=300 + sleep 7 + echo -n 'waiting for pxc/proxy-switch to be ready' waiting for pxc/proxy-switch to be ready++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kqU92PiQ5m +++ mktemp ++ local LAST_ERR=/tmp/tmp.0w432w6h64 ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.kqU92PiQ5m ++ cat /tmp/tmp.0w432w6h64 ++ rm /tmp/tmp.kqU92PiQ5m /tmp/tmp.0w432w6h64 ++ return 0 + [[ ready == \r\e\a\d\y ]] ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cajuYWPWHH +++ mktemp ++ local LAST_ERR=/tmp/tmp.7u6nGJFCUD ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.pxc.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.cajuYWPWHH ++ cat /tmp/tmp.7u6nGJFCUD ++ rm /tmp/tmp.cajuYWPWHH /tmp/tmp.7u6nGJFCUD ++ return 0 + [[ 3 == \3 ]] +++ get_proxy_engine proxy-switch +++ local cluster_name=proxy-switch ++++ get_proxy proxy-switch ++++ local target_cluster=proxy-switch +++++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' ++++++ mktemp +++++ local LAST_OUT=/tmp/tmp.bDHRe2njfW ++++++ mktemp +++++ local LAST_ERR=/tmp/tmp.aCVWsAm44p +++++ local exit_status=0 ++++++ seq 0 2 +++++ for i in '$(seq 0 2)' +++++ set +e +++++ kubectl get pxc proxy-switch -o 'jsonpath={.spec.haproxy.enabled}' +++++ exit_status=0 +++++ set -e +++++ '[' 0 '!=' 0 ']' +++++ break +++++ cat /tmp/tmp.bDHRe2njfW +++++ cat /tmp/tmp.aCVWsAm44p +++++ rm /tmp/tmp.bDHRe2njfW /tmp/tmp.aCVWsAm44p +++++ return 0 ++++ [[ true == \t\r\u\e ]] ++++ echo proxy-switch-haproxy ++++ return +++ local cluster_proxy=proxy-switch-haproxy +++ echo haproxy ++ kubectl_bin get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4QTOmkV2ar +++ mktemp ++ local LAST_ERR=/tmp/tmp.fIdnHHjPcr ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pxc proxy-switch -o 'jsonpath={.status.haproxy.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.4QTOmkV2ar ++ cat /tmp/tmp.fIdnHHjPcr ++ rm /tmp/tmp.4QTOmkV2ar /tmp/tmp.fIdnHHjPcr ++ return 0 + [[ 3 == \3 ]] + echo + desc 'verify HAProxy service exists' + set +o xtrace ----------------------------------------------------------------------------------- verify HAProxy service exists ----------------------------------------------------------------------------------- + kubectl_bin get service proxy-switch-haproxy ++ mktemp + local LAST_OUT=/tmp/tmp.4oJd7VIQ2A ++ mktemp + local LAST_ERR=/tmp/tmp.G6PHtuaafB + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get service proxy-switch-haproxy + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.4oJd7VIQ2A NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE proxy-switch-haproxy ClusterIP 34.118.233.234 3306/TCP,3309/TCP,33062/TCP,33060/TCP,8404/TCP 2m29s + cat /tmp/tmp.G6PHtuaafB + rm /tmp/tmp.4oJd7VIQ2A /tmp/tmp.G6PHtuaafB + return 0 + desc 'write data and check connectivity through HAProxy' + set +o xtrace ----------------------------------------------------------------------------------- write data and check connectivity through HAProxy ----------------------------------------------------------------------------------- + run_mysql 'CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY);' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=CREATE DATABASE IF NOT EXISTS myApp; use myApp; CREATE TABLE IF NOT EXISTS myApp (id int PRIMARY KEY);' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.m7ZlV8JAsE +++ mktemp ++ local LAST_ERR=/tmp/tmp.SEx1U7Z8jE ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.m7ZlV8JAsE ++ cat /tmp/tmp.SEx1U7Z8jE ++ rm /tmp/tmp.m7ZlV8JAsE /tmp/tmp.SEx1U7Z8jE ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' ++ echo pxc-client-67fc4995bb-p2796 + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + run_mysql 'INSERT myApp.myApp (id) VALUES (100502)' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=INSERT myApp.myApp (id) VALUES (100502)' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tiDHqzo1YI +++ mktemp ++ local LAST_ERR=/tmp/tmp.rEks5Bplv7 ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.tiDHqzo1YI ++ cat /tmp/tmp.rEks5Bplv7 ++ rm /tmp/tmp.tiDHqzo1YI /tmp/tmp.rEks5Bplv7 ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + sleep 10 + compare_mysql_cmd select-3 'SELECT * from myApp.myApp;' '-h proxy-switch-haproxy -uroot -proot_password' + local command_id=select-3 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-haproxy -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-haproxy -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.C3yY8PRurW +++ mktemp ++ local LAST_ERR=/tmp/tmp.vYZO45brNi ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.C3yY8PRurW ++ cat /tmp/tmp.vYZO45brNi ++ rm /tmp/tmp.C3yY8PRurW /tmp/tmp.vYZO45brNi ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-3.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-3.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql /tmp/tmp.94dTelc6CW/select-3.sql + desc 'verify data exists on all PXC nodes' + set +o xtrace ----------------------------------------------------------------------------------- verify data exists on all PXC nodes ----------------------------------------------------------------------------------- + compare_mysql_cmd select-3 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local command_id=select-3 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-0.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.RXk9z2I9pa +++ mktemp ++ local LAST_ERR=/tmp/tmp.blnsEAtnQC ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.RXk9z2I9pa ++ cat /tmp/tmp.blnsEAtnQC ++ rm /tmp/tmp.RXk9z2I9pa /tmp/tmp.blnsEAtnQC ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-3.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-3.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql /tmp/tmp.94dTelc6CW/select-3.sql + compare_mysql_cmd select-3 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local command_id=select-3 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-1.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Esp40yCYFl +++ mktemp ++ local LAST_ERR=/tmp/tmp.AXbtG9dG1j ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.Esp40yCYFl ++ cat /tmp/tmp.AXbtG9dG1j ++ rm /tmp/tmp.Esp40yCYFl /tmp/tmp.AXbtG9dG1j ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' ++ grep -E '^(pxc|proxysql)$' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-3.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-3.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql /tmp/tmp.94dTelc6CW/select-3.sql + compare_mysql_cmd select-3 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local command_id=select-3 + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local postfix= + local expected_result=/mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.4 ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 8\.0 ]] + [[ -f /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3-80.sql ]] + [[ perconalab/percona-xtradb-cluster-operator:main-pxc8.0 =~ 5\.7 ]] + run_mysql 'SELECT * from myApp.myApp;' '-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' + local 'command=SELECT * from myApp.myApp;' + local 'uri=-h proxy-switch-pxc-2.proxy-switch-pxc -uroot -proot_password' ++ get_client_pod ++ kubectl_bin get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MiaVH7U6ED +++ mktemp ++ local LAST_ERR=/tmp/tmp.uKAUXcForv ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=pxc-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.MiaVH7U6ED ++ cat /tmp/tmp.uKAUXcForv ++ rm /tmp/tmp.MiaVH7U6ED /tmp/tmp.uKAUXcForv ++ return 0 + client_pod=pxc-client-67fc4995bb-p2796 + wait_pod pxc-client-67fc4995bb-p2796 + local pod=pxc-client-67fc4995bb-p2796 + local max_retry=480 + local ns= ++ echo pxc-client-67fc4995bb-p2796 ++ grep -E '^(pxc|proxysql)$' ++ /usr/bin/sed -E 's/.*-(pxc|proxysql)-[0-9]/\1/' + local container= + set +o xtrace pod/pxc-client-67fc4995bb-p2796 condition met waiting for pod/pxc-client-67fc4995bb-p2796 to become ReadyDefaulted container "pxc-client" out of: pxc-client, backup .Ok + set +o xtrace + [[ ! -s /tmp/tmp.94dTelc6CW/select-3.sql ]] ++ grep 'Unknown MySQL server host' /tmp/tmp.94dTelc6CW/select-3.sql + [[ -n '' ]] + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-pxc-operator_PR-2392/e2e-tests/proxy-switch/compare/select-3.sql /tmp/tmp.94dTelc6CW/select-3.sql + desc 'clean up' + set +o xtrace ----------------------------------------------------------------------------------- clean up ----------------------------------------------------------------------------------- + destroy proxy-switch-7336 + local namespace=proxy-switch-7336 + local ignore_logs=true + [[ 0 == 1 ]] + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false -o 1 == 1 ']' + grep -v level=info + sort -u + tee /tmp/tmp.94dTelc6CW/operator.log + /usr/bin/sed -r 's/"ts":[0-9.]+//; s^limits-[0-9.]+/^^g' + grep -v 'the object has been modified' + grep -v 'get backup status: Job.batch' ++ get_operator_pod ++ local label_prefix=app.kubernetes.io/ +++ kubectl get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator -n pxc-operator +++ grep -c percona-xtradb-cluster-operator ++ local check_label=1 ++ [[ 1 -eq 0 ]] ++ jq -r '.items[] | select(.metadata.deletionTimestamp == null) | .metadata.name' ++ head -1 ++ kubectl_bin get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator --field-selector=status.phase=Running -o json -n pxc-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.eumRruUtMh +++ mktemp ++ local LAST_ERR=/tmp/tmp.RUhm3FHnxF ++ local exit_status=0 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=app.kubernetes.io/name=percona-xtradb-cluster-operator --field-selector=status.phase=Running -o json -n pxc-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 ']' ++ break ++ cat /tmp/tmp.eumRruUtMh ++ cat /tmp/tmp.RUhm3FHnxF ++ rm /tmp/tmp.eumRruUtMh /tmp/tmp.RUhm3FHnxF ++ return 0 + kubectl_bin logs -n pxc-operator percona-xtradb-cluster-operator-777b97d8c6-b65xz ++ mktemp + local LAST_OUT=/tmp/tmp.FbtYS5GPxs ++ mktemp + local LAST_ERR=/tmp/tmp.niu0rJTDF4 + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl logs -n pxc-operator percona-xtradb-cluster-operator-777b97d8c6-b65xz + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.FbtYS5GPxs + cat /tmp/tmp.niu0rJTDF4 + rm /tmp/tmp.FbtYS5GPxs /tmp/tmp.niu0rJTDF4 + return 0 2026-04-03T15:01:43.470Z INFO setup Feature gates {"PXCO_FEATURE_GATES": "", "enabled": ""} 2026-04-03T15:01:43.470Z INFO setup Manager starting up {"gitCommit": "85035c395425913e4d8ef8bcda9d73be287ce07f", "gitBranch": "PR-2392-85035c39", "buildTime": "2026-04-03T12:54:21Z", "goVersion": "go1.25.8", "os": "linux", "arch": "amd64"} 2026-04-03T15:01:43.470Z INFO setup Runs on {"platform": "kubernetes", "version": "v1.32.13-gke.1147000"} 2026-04-03T15:01:43.473Z INFO setup Registering Components. 2026-04-03T15:01:44.363Z INFO controller-runtime.metrics Serving metrics server {"bindAddress": ":8080", "secure": false} 2026-04-03T15:01:44.363Z INFO controller-runtime.metrics Starting metrics server 2026-04-03T15:01:44.363Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-percona-xtradbcluster"} 2026-04-03T15:01:44.363Z INFO controller-runtime.webhook Starting webhook server 2026-04-03T15:01:44.363Z INFO setup Starting the Cmd. 2026-04-03T15:01:44.363Z INFO starting server {"name": "health probe", "addr": "[::]:8081"} 2026-04-03T15:01:44.364Z INFO controller-runtime.certwatcher Starting certificate poll+watcher {"cert": "/tmp/k8s-webhook-server/serving-certs/tls.crt", "key": "/tmp/k8s-webhook-server/serving-certs/tls.key", "interval": "10s"} 2026-04-03T15:01:44.364Z INFO controller-runtime.certwatcher Updated current TLS certificate {"cert": "/tmp/k8s-webhook-server/serving-certs/tls.crt", "key": "/tmp/k8s-webhook-server/serving-certs/tls.key"} 2026-04-03T15:01:44.364Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443} 2026-04-03T15:01:44.464Z INFO Attempting to acquire leader lease... {"lock": "pxc-operator/08db1feb.percona.com"} 2026-04-03T15:01:44.506Z DEBUG events percona-xtradb-cluster-operator-777b97d8c6-b65xz_0e11d6ec-7208-4733-8843-a858ebb2395c became leader {"type": "Normal", "object": {"kind":"Lease","namespace":"pxc-operator","name":"08db1feb.percona.com","uid":"0653d5d8-9061-4e26-a290-4831fb7e6ab8","apiVersion":"coordination.k8s.io/v1","resourceVersion":"1775228504498943009"}, "reason": "LeaderElection"} 2026-04-03T15:01:44.506Z INFO Successfully acquired lease {"lock": "pxc-operator/08db1feb.percona.com"} 2026-04-03T15:01:44.507Z INFO Starting EventSource {"controller": "pxcbackup-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterBackup", "source": "kind source: *v1.PerconaXtraDBClusterBackup"} 2026-04-03T15:01:44.507Z INFO Starting EventSource {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "source": "kind source: *v1.PerconaXtraDBCluster"} 2026-04-03T15:01:44.507Z INFO Starting EventSource {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "source": "kind source: *v1.Secret"} 2026-04-03T15:01:44.507Z INFO Starting EventSource {"controller": "pxcrestore-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterRestore", "source": "kind source: *v1.PerconaXtraDBClusterRestore"} 2026-04-03T15:01:44.608Z INFO Starting Controller {"controller": "pxcbackup-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterBackup"} 2026-04-03T15:01:44.608Z INFO Starting Controller {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster"} 2026-04-03T15:01:44.608Z INFO Starting Controller {"controller": "pxcrestore-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterRestore"} 2026-04-03T15:01:44.608Z INFO Starting workers {"controller": "pxcbackup-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterBackup", "worker count": 1} 2026-04-03T15:01:44.608Z INFO Starting workers {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "worker count": 1} 2026-04-03T15:01:44.608Z INFO Starting workers {"controller": "pxcrestore-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBClusterRestore", "worker count": 1} 2026-04-03T15:02:25.287Z INFO Set CR version {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "version": "1.20.0"} 2026-04-03T15:02:26.930Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "auto-proxy-switch-pxc", "kind": "&TypeMeta{Kind:ConfigMap,APIVersion:v1,}"} 2026-04-03T15:02:27.048Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:StatefulSet,APIVersion:apps/v1,}"} 2026-04-03T15:02:27.090Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-pxc", "kind": "&TypeMeta{Kind:StatefulSet,APIVersion:apps/v1,}"} 2026-04-03T15:02:27.154Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-pxc", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:02:27.204Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-pxc-unready", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:02:27.251Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:02:27.409Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34b2d64e-5cb6-4b94-a1f0-194c21b7b887", "object": "proxy-switch-haproxy-replicas", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:02:28.550Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "61081860-b4ce-4bd0-b92f-89285ad9f6e1", "object": "proxy-switch-pxc", "kind": "&TypeMeta{Kind:PodDisruptionBudget,APIVersion:policy/v1,}"} 2026-04-03T15:02:28.569Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "61081860-b4ce-4bd0-b92f-89285ad9f6e1", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:PodDisruptionBudget,APIVersion:policy/v1,}"} 2026-04-03T15:03:50.481Z INFO Password expiration policy updated {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af", "user": "operator"} 2026-04-03T15:03:50.514Z INFO Password expiration policy updated {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af", "user": "monitor"} 2026-04-03T15:03:50.564Z INFO User monitor: granted privileges {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af"} 2026-04-03T15:03:50.598Z INFO monitor user privileges granted {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af"} 2026-04-03T15:03:50.631Z INFO Password expiration policy updated {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af", "user": "xtrabackup"} 2026-04-03T15:03:50.689Z INFO User xtrabackup: granted privileges {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af"} 2026-04-03T15:03:50.722Z INFO Password expiration policy updated {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "70255008-c789-4998-87b1-c7c9a59359af", "user": "replication"} 2026-04-03T15:06:26.627Z INFO Password expiration policy updated {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "e492bd3b-4fec-4ff1-8fb6-5626c8b57208", "user": "root"} 2026-04-03T15:06:26.739Z INFO update PXC version (fetched from db) {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "e492bd3b-4fec-4ff1-8fb6-5626c8b57208", "new version": "8.0.43-34.1"} 2026-04-03T15:10:13.979Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "03faeb2b-dcaf-4bcb-9f74-aaf244d6cd45", "object": "proxy-switch-proxysql", "kind": "&TypeMeta{Kind:StatefulSet,APIVersion:apps/v1,}"} 2026-04-03T15:10:14.343Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "03faeb2b-dcaf-4bcb-9f74-aaf244d6cd45", "object": "proxy-switch-proxysql", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:10:14.535Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "03faeb2b-dcaf-4bcb-9f74-aaf244d6cd45", "object": "proxy-switch-proxysql-unready", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:10:18.612Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "03faeb2b-dcaf-4bcb-9f74-aaf244d6cd45", "err": "get primary pxc pod: failed to get proxy connection: dial tcp: lookup proxy-switch-proxysql-unready.proxy-switch-7336 on 34.118.224.10:53: no such host"} 2026-04-03T15:10:19.330Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "4693c8ed-4237-4cab-afae-90424790b786", "object": "proxy-switch-proxysql", "kind": "&TypeMeta{Kind:PodDisruptionBudget,APIVersion:policy/v1,}"} 2026-04-03T15:10:22.961Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "4693c8ed-4237-4cab-afae-90424790b786", "err": "get primary pxc pod: failed to get proxy connection: dial tcp: lookup proxy-switch-proxysql-unready.proxy-switch-7336 on 34.118.224.10:53: no such host"} 2026-04-03T15:10:31.183Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "b04d4b53-e069-4c67-9fd3-57fa5f61dc54", "err": "get primary pxc pod: failed to get proxy connection: dial tcp 10.24.96.59:6032: connect: connection refused"} 2026-04-03T15:10:36.426Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "bbf67816-5eb1-46ac-8a1b-335188c57b54", "err": "get primary pxc pod: not found"} 2026-04-03T15:10:36.725Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "204cf3b9-2538-49c2-95d8-82a93f99cb34", "err": "get primary pxc pod: not found"} 2026-04-03T15:10:42.271Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "5e6c8d3e-efab-48a7-8571-55849d5a1fdd", "err": "get primary pxc pod: not found"} 2026-04-03T15:10:47.474Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "d159374c-4561-426c-9324-e5b8ab655218", "err": "get primary pxc pod: not found"} 2026-04-03T15:11:15.002Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "850d11d4-43bb-4809-b9a1-3a40e9c1bff5", "err": "get primary pxc pod: not found"} 2026-04-03T15:11:21.273Z ERROR sync users {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "850d11d4-43bb-4809-b9a1-3a40e9c1bff5", "error": "exec syncusers: failed to execute command in pod: command terminated with exit code 1 / / ERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\n", "errorVerbose": "exec syncusers: failed to execute command in pod: command terminated with exit code 1 / / ERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\nERROR (line:515) : The cluster (with writer hostgroup:11) has not been configured in ProxySQL\n\ngithub.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc.(*ReconcilePerconaXtraDBCluster).syncPXCUsersWithProxySQL\n\t/go/src/github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc/users.go:975\ngithub.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc.(*ReconcilePerconaXtraDBCluster).resyncPXCUsersWithProxySQL.func1\n\t/go/src/github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc/controller.go:832\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693"} 2026-04-03T15:11:30.121Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "28d0db3c-ed27-4e7c-a1fe-829c25cfa59e"} 2026-04-03T15:11:34.387Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "3b689e37-ff61-4174-a14c-cbc59b59c6db"} 2026-04-03T15:11:41.577Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "d3c66db6-12e9-420e-8037-f4174264b9db"} 2026-04-03T15:11:47.292Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "57f345fb-b365-4197-85d2-c581233518af"} 2026-04-03T15:11:52.354Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "1c53e5ad-30cf-44c8-9179-21b0630ac93d"} 2026-04-03T15:11:57.685Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "09e5280c-4598-427f-aa91-3aeb5764671f"} 2026-04-03T15:12:03.077Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "fba1ecb9-d939-4428-b6cb-9b082b967574"} 2026-04-03T15:12:07.989Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "55689c8b-bd02-45e4-a954-6a4c0d218f69"} 2026-04-03T15:12:13.900Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "54f1d67c-0229-456e-bb61-c3f2d5b91125"} 2026-04-03T15:12:19.246Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "34aeae43-1b1a-44b7-952d-e86362d7e96c"} 2026-04-03T15:12:24.487Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "2cb6f131-fc85-4b08-84bd-8cd374a52920"} 2026-04-03T15:12:29.782Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "1559dcd7-9463-4e11-8db6-fcc276073397"} 2026-04-03T15:12:35.380Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "69686fd1-5875-4e66-a16f-7fb70921c4a0"} 2026-04-03T15:12:41.280Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "0762141a-9f81-4d6d-9459-7c2f9e666ccd"} 2026-04-03T15:12:46.158Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "89313b88-6c72-4d24-aae9-a26611dad264"} 2026-04-03T15:12:51.586Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "eb79a739-7ed2-4e56-954d-3409f8c01320"} 2026-04-03T15:12:56.775Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "90d8a865-2e22-4ebb-bd86-2205b32d3be5"} 2026-04-03T15:13:01.995Z DEBUG PXC users synced with ProxySQL {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "f75d1009-e50c-4cca-8fce-052b81b934a0"} 2026-04-03T15:13:04.162Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "8b8eca35-0182-440b-80f7-9ea9f5d36584", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:StatefulSet,APIVersion:apps/v1,}"} 2026-04-03T15:13:04.202Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "8b8eca35-0182-440b-80f7-9ea9f5d36584", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:StatefulSet,APIVersion:apps/v1,}"} 2026-04-03T15:13:04.268Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "8b8eca35-0182-440b-80f7-9ea9f5d36584", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:13:04.371Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "8b8eca35-0182-440b-80f7-9ea9f5d36584", "object": "proxy-switch-haproxy-replicas", "kind": "&TypeMeta{Kind:Service,APIVersion:v1,}"} 2026-04-03T15:13:05.415Z ERROR sync users {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "dab8f588-035e-494f-9e43-4f3064a5e831", "error": "exec syncusers: failed to execute command in pod: pods \"proxy-switch-proxysql-0\" not found / \nSyncing user accounts from PXC(proxy-switch-pxc-0.proxy-switch-pxc.proxy-switch-7336.svc.cluster.local:3306) to ProxySQL\n / ", "errorVerbose": "exec syncusers: failed to execute command in pod: pods \"proxy-switch-proxysql-0\" not found / \nSyncing user accounts from PXC(proxy-switch-pxc-0.proxy-switch-pxc.proxy-switch-7336.svc.cluster.local:3306) to ProxySQL\n / \ngithub.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc.(*ReconcilePerconaXtraDBCluster).syncPXCUsersWithProxySQL\n\t/go/src/github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc/users.go:975\ngithub.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc.(*ReconcilePerconaXtraDBCluster).resyncPXCUsersWithProxySQL.func1\n\t/go/src/github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc/controller.go:832\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1693"} 2026-04-03T15:13:07.821Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "8b8eca35-0182-440b-80f7-9ea9f5d36584", "err": "get primary pxc pod: failed to get proxy connection: dial tcp 34.118.233.234:3306: connect: connection refused"} 2026-04-03T15:13:08.618Z DEBUG Creating object {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "50ae5599-a264-487f-b3d1-97f4933f71e7", "object": "proxy-switch-haproxy", "kind": "&TypeMeta{Kind:PodDisruptionBudget,APIVersion:policy/v1,}"} 2026-04-03T15:13:11.644Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "50ae5599-a264-487f-b3d1-97f4933f71e7", "err": "get primary pxc pod: failed to get proxy connection: dial tcp 34.118.233.234:3306: connect: connection refused"} 2026-04-03T15:13:19.866Z INFO reconcile replication error {"controller": "pxc-controller", "controllerGroup": "pxc.percona.com", "controllerKind": "PerconaXtraDBCluster", "PerconaXtraDBCluster": {"name":"proxy-switch","namespace":"proxy-switch-7336"}, "namespace": "proxy-switch-7336", "name": "proxy-switch", "reconcileID": "5831c0c2-879a-4998-bf64-0fc4468037f5", "err": "get primary pxc pod: failed to get proxy connection: dial tcp 34.118.233.234:3306: connect: connection refused"} github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc.(*ReconcilePerconaXtraDBCluster).resyncPXCUsersWithProxySQL.func1 /go/src/github.com/percona/percona-xtradb-cluster-operator/pkg/controller/pxc/controller.go:834 + xargs -L 1 sh -xc 'kubectl patch pxc -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + grep -v NAMESPACE + kubectl get pxc --all-namespaces -o wide + kubectl patch pxc -n proxy-switch-7336 proxy-switch --type=merge -p '{"metadata":{"finalizers":[]}}' perconaxtradbcluster.pxc.percona.com/proxy-switch patched + kubectl_bin delete pxc --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.enVwHIfEV1 ++ mktemp + local LAST_ERR=/tmp/tmp.wzYguTU6HG + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.enVwHIfEV1 perconaxtradbcluster.pxc.percona.com "proxy-switch" deleted from proxy-switch-7336 namespace + cat /tmp/tmp.wzYguTU6HG + rm /tmp/tmp.enVwHIfEV1 /tmp/tmp.wzYguTU6HG + return 0 + kubectl_bin delete pxc-backup --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.C3LczrBMqs ++ mktemp + local LAST_ERR=/tmp/tmp.oj2FQlOJpB + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc-backup --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.C3LczrBMqs No resources found + cat /tmp/tmp.oj2FQlOJpB + rm /tmp/tmp.C3LczrBMqs /tmp/tmp.oj2FQlOJpB + return 0 + kubectl_bin delete pxc-restore --all --all-namespaces ++ mktemp + local LAST_OUT=/tmp/tmp.LbTNWliC8P ++ mktemp + local LAST_ERR=/tmp/tmp.aCpmzDmmt2 + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete pxc-restore --all --all-namespaces + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.LbTNWliC8P No resources found + cat /tmp/tmp.aCpmzDmmt2 + rm /tmp/tmp.LbTNWliC8P /tmp/tmp.aCpmzDmmt2 + return 0 + kubectl_bin delete ValidatingWebhookConfiguration percona-xtradbcluster-webhook ++ mktemp + local LAST_OUT=/tmp/tmp.L5Mp1hRtgI ++ mktemp + local LAST_ERR=/tmp/tmp.OSboYssqdo + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete ValidatingWebhookConfiguration percona-xtradbcluster-webhook + exit_status=0 + set -e + '[' 0 '!=' 0 ']' + break + cat /tmp/tmp.L5Mp1hRtgI validatingwebhookconfiguration.admissionregistration.k8s.io "percona-xtradbcluster-webhook" deleted + cat /tmp/tmp.OSboYssqdo + rm /tmp/tmp.L5Mp1hRtgI /tmp/tmp.OSboYssqdo + return 0 + kubectl_bin delete -f https://github.com/jetstack/cert-manager/releases/download/v1.19.2/cert-manager.yaml + : + '[' '!' -z '' ']' + '[' -n pxc-operator ']' + kubectl_bin delete --grace-period=0 --force=true namespace proxy-switch-7336 + rm -rf /tmp/tmp.94dTelc6CW + kubectl_bin delete --grace-period=0 --force=true namespace pxc-operator ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.sCCpsYZHEO + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed+ local LAST_OUT=/tmp/tmp.WcaayXYolq ----------------------------------------------------------------------------------- ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.UEYNKvESxE + local exit_status=0 ++ seq 0 2 + local LAST_ERR=/tmp/tmp.WTyYv8cM0w + local exit_status=0 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete --grace-period=0 --force=true namespace proxy-switch-7336 + for i in '$(seq 0 2)' + set +e + kubectl delete --grace-period=0 --force=true namespace pxc-operator