which: no gsed in (/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin) mkdir -p e2e-tests/reports e2e-tests/logs ========================================================================================= test session starts ========================================================================================== platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 -- /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/.venv/bin/python cachedir: .pytest_cache metadata: {'Python': '3.14.6', 'Platform': 'Linux-6.18.6-200.fc43.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.1.1', 'pluggy': '1.6.0'}, 'Plugins': {'html': '4.2.0', 'dependency': '0.6.1', 'json-report': '1.5.0', 'metadata': '3.1.1'}, 'CI': 'true', 'BUILD_NUMBER': '2', 'BUILD_ID': '2', 'BUILD_URL': 'https://cloud.cd.percona.com/job/cloud-psmdb-operator/job/PR-2491/2/', 'NODE_NAME': 'hcloud-ir3nxfnaccwe6fha', 'JOB_NAME': 'cloud-psmdb-operator/PR-2491', 'BUILD_TAG': 'jenkins-cloud-psmdb-operator-PR-2491-2', 'EXECUTOR_NUMBER': '0', 'JENKINS_URL': 'https://cloud.cd.percona.com/', 'WORKSPACE': '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491', 'GIT_COMMIT': '6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a', 'GIT_URL': 'https://github.com/percona/percona-server-mongodb-operator.git', 'GIT_BRANCH': 'PR-2491'} rootdir: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491 configfile: pyproject.toml plugins: html-4.2.0, dependency-0.6.1, json-report-1.5.0, metadata-3.1.1 collecting ... collected 1 item e2e-tests/test_pytest_wrapper.py::test_bash_wrapper[split-horizon] [13:15:28.406811] WARNING kubectl error: Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 [13:15:29.810577] INFO Environment variables: KUBE_VERSION=1.33 PLATFORM=gke ARCH= EKS= GKE=1 AKS= OPENSHIFT= KIND= MINIKUBE= RANCHER= API=psmdb.percona.com/v1 REGISTRY_NAME=docker.io GIT_COMMIT=6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a GIT_BRANCH=PR-2491 OPERATOR_VERSION=1.24.0 IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_MONGOD_CHAIN=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 IMAGE_SEARCH=docker.io/perconalab/percona-server-mongodb-operator:main-mongot IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 IMAGE_PMM_SERVER=docker.io/perconalab/pmm-server:dev-latest IMAGE_PMM3_CLIENT=docker.io/perconalab/pmm-client:3-dev-latest IMAGE_PMM3_SERVER=docker.io/perconalab/pmm-server:3-dev-latest IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector IMAGE_CLUSTERSYNC=docker.io/percona/percona-clustersync-mongodb:0.9.0 IMAGE_AWS_CLI=docker.io/amazon/aws-cli:2.34.60 CERT_MANAGER_VER=1.21.0 CHAOS_MESH_VER=2.7.1 MINIO_VER=5.4.0 PMM_SERVER_VER=9.9.9 CLEAN_NAMESPACE=1 DELETE_CRD_ON_START=1 SKIP_DELETE=0 SKIP_BACKUPS_TO_AWS_GCP_AZURE= UPDATE_COMPARE_FILES=0 +++ dirname run ++ realpath . + test_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon + . /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../functions +++ dirname /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../functions ++ source /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../vars ++++ mktemp -d +++ export tmp_dir=/tmp/tmp.kV9hQzSIv2 +++ tmp_dir=/tmp/tmp.kV9hQzSIv2 ++++ command -v gsed ++++ command -v sed +++ export sed=/usr/sbin/sed +++ sed=/usr/sbin/sed ++++ command -v gdate ++++ command -v date +++ export date=/usr/sbin/date +++ date=/usr/sbin/date ++++ basename /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon +++ export test_name=split-horizon +++ test_name=split-horizon +++ export namespace=split-horizon-31406 +++ namespace=split-horizon-31406 +++ export arbiter_namespace=split-horizon-arbiter-20317 +++ arbiter_namespace=split-horizon-arbiter-20317 +++ export replica_namespace=split-horizon-replica-26406 +++ replica_namespace=split-horizon-replica-26406 ++++ realpath /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../conf +++ export conf_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf +++ conf_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf ++++ realpath /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../.. +++ export src_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491 +++ src_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491 +++ export logs_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../logs +++ logs_dir=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../logs ++++ git rev-parse HEAD +++ export GIT_COMMIT=6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a +++ GIT_COMMIT=6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a +++ export GIT_BRANCH=PR-2491-6cfab0ed6 +++ GIT_BRANCH=PR-2491-6cfab0ed6 +++ export API=psmdb.percona.com/v1 +++ API=psmdb.percona.com/v1 ++++ awk '{print $2}' ++++++ dirname /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../vars +++++ realpath /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/../../deploy/cr.yaml ++++ grep crVersion /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cr.yaml +++ export OPERATOR_VERSION=1.24.0 +++ OPERATOR_VERSION=1.24.0 +++ export REGISTRY_NAME=docker.io +++ REGISTRY_NAME=docker.io +++ export REGISTRY_NAME_FULL=docker.io/ +++ REGISTRY_NAME_FULL=docker.io/ +++ export IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ export IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ export $'IMAGE_MONGOD_CHAIN=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' +++ IMAGE_MONGOD_CHAIN=$'docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' +++ export IMAGE_SEARCH=docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ IMAGE_SEARCH=docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ export IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ export IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 +++ IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 +++ export IMAGE_PMM_SERVER=docker.io/perconalab/pmm-server:dev-latest +++ IMAGE_PMM_SERVER=docker.io/perconalab/pmm-server:dev-latest +++ export IMAGE_PMM3_CLIENT=docker.io/perconalab/pmm-client:3-dev-latest +++ IMAGE_PMM3_CLIENT=docker.io/perconalab/pmm-client:3-dev-latest +++ export IMAGE_PMM3_SERVER=docker.io/perconalab/pmm-server:3-dev-latest +++ IMAGE_PMM3_SERVER=docker.io/perconalab/pmm-server:3-dev-latest +++ export IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector +++ IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector +++ export IMAGE_CLUSTERSYNC=docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ IMAGE_CLUSTERSYNC=docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE +++ local var=IMAGE +++ local val=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ [[ -z docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ]] +++ [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 == * * ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ val=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ printf -v IMAGE %s docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_MONGOD +++ local var=IMAGE_MONGOD +++ local val=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ [[ -z docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ]] +++ [[ docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 == * * ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ val=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ printf -v IMAGE_MONGOD %s docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_MONGOD_CHAIN +++ local var=IMAGE_MONGOD_CHAIN +++ local $'val=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' +++ [[ -z docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ]] +++ [[ docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 == * * ]] +++ local out= ref +++ IFS= +++ read -r ref +++ [[ -n docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0 +++ out+=$'docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\n' +++ IFS= +++ read -r ref +++ [[ -n docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0 +++ out+=$'docker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\n' +++ IFS= +++ read -r ref +++ [[ -n docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ out+=$'docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0\n' +++ IFS= +++ read -r ref +++ val=$'docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' +++ printf -v IMAGE_MONGOD_CHAIN %s $'docker.io/perconalab/percona-server-mongodb-operator:main-mongod6.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod7.0\ndocker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_SEARCH +++ local var=IMAGE_SEARCH +++ local val=docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ [[ -z docker.io/perconalab/percona-server-mongodb-operator:main-mongot ]] +++ [[ docker.io/perconalab/percona-server-mongodb-operator:main-mongot == * * ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-mongot ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-mongot ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ val=docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ printf -v IMAGE_SEARCH %s docker.io/perconalab/percona-server-mongodb-operator:main-mongot +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_BACKUP +++ local var=IMAGE_BACKUP +++ local val=docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ [[ -z docker.io/perconalab/percona-server-mongodb-operator:main-backup ]] +++ [[ docker.io/perconalab/percona-server-mongodb-operator:main-backup == * * ]] ++++ with_registry docker.io/perconalab/percona-server-mongodb-operator:main-backup ++++ local ref=docker.io/perconalab/percona-server-mongodb-operator:main-backup ++++ case "$ref" in ++++ printf %s docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ val=docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ printf -v IMAGE_BACKUP %s docker.io/perconalab/percona-server-mongodb-operator:main-backup +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_PMM_CLIENT +++ local var=IMAGE_PMM_CLIENT +++ local val=docker.io/percona/pmm-client:2.44.1-1 +++ [[ -z docker.io/percona/pmm-client:2.44.1-1 ]] +++ [[ docker.io/percona/pmm-client:2.44.1-1 == * * ]] ++++ with_registry docker.io/percona/pmm-client:2.44.1-1 ++++ local ref=docker.io/percona/pmm-client:2.44.1-1 ++++ case "$ref" in ++++ printf %s docker.io/percona/pmm-client:2.44.1-1 +++ val=docker.io/percona/pmm-client:2.44.1-1 +++ printf -v IMAGE_PMM_CLIENT %s docker.io/percona/pmm-client:2.44.1-1 +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_PMM_SERVER +++ local var=IMAGE_PMM_SERVER +++ local val=docker.io/perconalab/pmm-server:dev-latest +++ [[ -z docker.io/perconalab/pmm-server:dev-latest ]] +++ [[ docker.io/perconalab/pmm-server:dev-latest == * * ]] ++++ with_registry docker.io/perconalab/pmm-server:dev-latest ++++ local ref=docker.io/perconalab/pmm-server:dev-latest ++++ case "$ref" in ++++ printf %s docker.io/perconalab/pmm-server:dev-latest +++ val=docker.io/perconalab/pmm-server:dev-latest +++ printf -v IMAGE_PMM_SERVER %s docker.io/perconalab/pmm-server:dev-latest +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_PMM3_CLIENT +++ local var=IMAGE_PMM3_CLIENT +++ local val=docker.io/perconalab/pmm-client:3-dev-latest +++ [[ -z docker.io/perconalab/pmm-client:3-dev-latest ]] +++ [[ docker.io/perconalab/pmm-client:3-dev-latest == * * ]] ++++ with_registry docker.io/perconalab/pmm-client:3-dev-latest ++++ local ref=docker.io/perconalab/pmm-client:3-dev-latest ++++ case "$ref" in ++++ printf %s docker.io/perconalab/pmm-client:3-dev-latest +++ val=docker.io/perconalab/pmm-client:3-dev-latest +++ printf -v IMAGE_PMM3_CLIENT %s docker.io/perconalab/pmm-client:3-dev-latest +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_PMM3_SERVER +++ local var=IMAGE_PMM3_SERVER +++ local val=docker.io/perconalab/pmm-server:3-dev-latest +++ [[ -z docker.io/perconalab/pmm-server:3-dev-latest ]] +++ [[ docker.io/perconalab/pmm-server:3-dev-latest == * * ]] ++++ with_registry docker.io/perconalab/pmm-server:3-dev-latest ++++ local ref=docker.io/perconalab/pmm-server:3-dev-latest ++++ case "$ref" in ++++ printf %s docker.io/perconalab/pmm-server:3-dev-latest +++ val=docker.io/perconalab/pmm-server:3-dev-latest +++ printf -v IMAGE_PMM3_SERVER %s docker.io/perconalab/pmm-server:3-dev-latest +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_LOGCOLLECTOR +++ local var=IMAGE_LOGCOLLECTOR +++ local val=docker.io/perconalab/fluentbit:main-logcollector +++ [[ -z docker.io/perconalab/fluentbit:main-logcollector ]] +++ [[ docker.io/perconalab/fluentbit:main-logcollector == * * ]] ++++ with_registry docker.io/perconalab/fluentbit:main-logcollector ++++ local ref=docker.io/perconalab/fluentbit:main-logcollector ++++ case "$ref" in ++++ printf %s docker.io/perconalab/fluentbit:main-logcollector +++ val=docker.io/perconalab/fluentbit:main-logcollector +++ printf -v IMAGE_LOGCOLLECTOR %s docker.io/perconalab/fluentbit:main-logcollector +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_CLUSTERSYNC +++ local var=IMAGE_CLUSTERSYNC +++ local val=docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ [[ -z docker.io/percona/percona-clustersync-mongodb:0.9.0 ]] +++ [[ docker.io/percona/percona-clustersync-mongodb:0.9.0 == * * ]] ++++ with_registry docker.io/percona/percona-clustersync-mongodb:0.9.0 ++++ local ref=docker.io/percona/percona-clustersync-mongodb:0.9.0 ++++ case "$ref" in ++++ printf %s docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ val=docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ printf -v IMAGE_CLUSTERSYNC %s docker.io/percona/percona-clustersync-mongodb:0.9.0 +++ for image in IMAGE IMAGE_MONGOD IMAGE_MONGOD_CHAIN IMAGE_SEARCH IMAGE_BACKUP IMAGE_PMM_CLIENT IMAGE_PMM_SERVER IMAGE_PMM3_CLIENT IMAGE_PMM3_SERVER IMAGE_LOGCOLLECTOR IMAGE_CLUSTERSYNC IMAGE_OPERATOR +++ qualify_image_var IMAGE_OPERATOR +++ local var=IMAGE_OPERATOR +++ local val= +++ [[ -z '' ]] +++ return ++++ kubectl version -o json ++++ jq -r '.serverVersion.major + "." + .serverVersion.minor' ++++ /usr/sbin/sed -r 's/[^0-9.]+//g' Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 +++ export KUBE_VERSION=1.33 +++ KUBE_VERSION=1.33 ++++ detect_k8s_env ++++ local provider=unknown ++++ grep -q openshift.io ++++ kubectl api-resources ++++ kubectl get nodes -o 'jsonpath={.items[0].metadata.labels}' ++++ grep -q eksctl.io ++++ kubectl get nodes -o 'jsonpath={.items[0].metadata.labels}' ++++ grep -q cloud.google.com/gke ++++ provider=gke ++++ echo gke +++ export PLATFORM=gke +++ PLATFORM=gke ++++ tr '[:lower:]' '[:upper:]' ++++ echo gke +++ export GKE=1 +++ GKE=1 +++ export ARCH= +++ ARCH= +++ [[ -z '' ]] ++++ kubectl get nodes -o 'jsonpath={range .items[*]}{.metadata.labels.kubernetes\.io/arch}{"\n"}{end}' ++++ sort -u +++ node_arches=amd64 +++ [[ amd64 == arm64 ]] +++ export CERT_MANAGER_VER=1.21.0 +++ CERT_MANAGER_VER=1.21.0 +++ export MINIO_VER=5.4.0 +++ MINIO_VER=5.4.0 +++ export CHAOS_MESH_VER=2.7.1 +++ CHAOS_MESH_VER=2.7.1 +++ export PMM_SERVER_VER=9.9.9 +++ PMM_SERVER_VER=9.9.9 +++ export IMAGE_AWS_CLI=docker.io/amazon/aws-cli:2.34.60 +++ IMAGE_AWS_CLI=docker.io/amazon/aws-cli:2.34.60 +++ export SKIP_BACKUPS_TO_AWS_GCP_AZURE=1 +++ SKIP_BACKUPS_TO_AWS_GCP_AZURE=1 +++ export UPDATE_COMPARE_FILES=0 +++ UPDATE_COMPARE_FILES=0 +++ export DELETE_CRD_ON_START=1 +++ DELETE_CRD_ON_START=1 +++ export SKIP_DELETE=0 +++ SKIP_DELETE=0 +++ [[ -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/cloud-secret.yml ]] +++ export SKIP_BACKUPS_TO_AWS_GCP_AZURE= +++ SKIP_BACKUPS_TO_AWS_GCP_AZURE= +++ setup_logging +++ [[ '' == true ]] +++ echo 'Debug logging disabled.' Debug logging disabled. ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ _AWS_ENV_STACK=() + main + create_infra split-horizon-31406 + local ns=split-horizon-31406 + echo split-horizon-31406 + [[ 1 == 1 ]] + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.XUV47EMykY ++ mktemp + local LAST_ERR=/tmp/tmp.Rn8WsQhlMd + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml' '--ignore-not-found' '--wait=false') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XUV47EMykY + cat /tmp/tmp.Rn8WsQhlMd + rm /tmp/tmp.XUV47EMykY /tmp/tmp.Rn8WsQhlMd + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.7WrHIQRYsG ++ mktemp + local LAST_ERR=/tmp/tmp.R2u6rK5ydN + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbbackups.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7WrHIQRYsG + cat /tmp/tmp.R2u6rK5ydN + rm /tmp/tmp.7WrHIQRYsG /tmp/tmp.R2u6rK5ydN + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbclustersyncs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + : + kubectl_bin wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.vJSjGZ2iXF ++ mktemp + local LAST_ERR=/tmp/tmp.n9poBDLwxq + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbclustersyncs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vJSjGZ2iXF + cat /tmp/tmp.n9poBDLwxq + rm /tmp/tmp.vJSjGZ2iXF /tmp/tmp.n9poBDLwxq + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.9yscMZxX5l ++ mktemp + local LAST_ERR=/tmp/tmp.CaWrV7Z6uA + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbrestores.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9yscMZxX5l + cat /tmp/tmp.CaWrV7Z6uA + rm /tmp/tmp.9yscMZxX5l /tmp/tmp.CaWrV7Z6uA + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.K50UUGA6X6 ++ mktemp + local LAST_ERR=/tmp/tmp.vR3Ww0tM43 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.K50UUGA6X6 + cat /tmp/tmp.vR3Ww0tM43 + rm /tmp/tmp.K50UUGA6X6 /tmp/tmp.vR3Ww0tM43 + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.EcbM92kfj6 ++ mktemp + local LAST_ERR=/tmp/tmp.UVML5AABoc + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.EcbM92kfj6 + cat /tmp/tmp.UVML5AABoc + rm /tmp/tmp.EcbM92kfj6 /tmp/tmp.UVML5AABoc + return 0 + check_crd_for_deletion PR-2491-6cfab0ed6 + local git_tag=PR-2491-6cfab0ed6 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-2491-6cfab0ed6/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4kzALLbhbA +++ mktemp ++ local LAST_ERR=/tmp/tmp.Vvql5NL4Za ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/null' '-o' 'jsonpath={.status.conditions[-1].type}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.4kzALLbhbA ++ cat /tmp/tmp.Vvql5NL4Za Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.4kzALLbhbA ++ cat /tmp/tmp.Vvql5NL4Za Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.4kzALLbhbA ++ cat /tmp/tmp.Vvql5NL4Za Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.4kzALLbhbA ++ cat /tmp/tmp.Vvql5NL4Za Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.4kzALLbhbA /tmp/tmp.Vvql5NL4Za ++ return 1 + [[ '' == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + [[ -n '' ]] + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + xargs kubectl delete ns + kubectl_bin delete namespace psmdb-operator --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.N8EuYuoS3C ++ mktemp + local LAST_OUT=/tmp/tmp.f9K3r532gY + local LAST_ERR=/tmp/tmp.rccDLpaTsm + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'psmdb-operator' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled ++ mktemp + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_ERR=/tmp/tmp.RyAKeaoVKL + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get ns + for i in $(seq 0 2) + set +e + kubectl delete namespace psmdb-operator --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.f9K3r532gY + cat /tmp/tmp.RyAKeaoVKL + rm /tmp/tmp.f9K3r532gY /tmp/tmp.RyAKeaoVKL + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.N8EuYuoS3C + cat /tmp/tmp.rccDLpaTsm + rm /tmp/tmp.N8EuYuoS3C /tmp/tmp.rccDLpaTsm + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Z0SCKejxPL ++ mktemp + local LAST_ERR=/tmp/tmp.4gbnE8ELNU + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Z0SCKejxPL + cat /tmp/tmp.4gbnE8ELNU + rm /tmp/tmp.Z0SCKejxPL /tmp/tmp.4gbnE8ELNU + return 0 + desc 'create namespace psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- create namespace psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin create namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Ovr1bwMUY1 ++ mktemp + local LAST_ERR=/tmp/tmp.FLrEtbddTw + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ovr1bwMUY1 namespace/psmdb-operator created + cat /tmp/tmp.FLrEtbddTw + rm /tmp/tmp.Ovr1bwMUY1 /tmp/tmp.FLrEtbddTw + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.OKMatJ1Lcg +++ mktemp ++ local LAST_ERR=/tmp/tmp.q7X5OdKbKd ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.OKMatJ1Lcg ++ cat /tmp/tmp.q7X5OdKbKd ++ rm /tmp/tmp.OKMatJ1Lcg /tmp/tmp.q7X5OdKbKd ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.r37szh27uL ++ mktemp + local LAST_ERR=/tmp/tmp.LuPj09ZmgJ + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14' '--namespace=psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.r37szh27uL Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14" modified. + cat /tmp/tmp.LuPj09ZmgJ + rm /tmp/tmp.r37szh27uL /tmp/tmp.LuPj09ZmgJ + return 0 + deploy_operator + desc 'start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator: docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.dOFMxqSUig ++ mktemp + local LAST_ERR=/tmp/tmp.EqRY34wOKV + local exit_status=0 + local timeout=4 + args=('apply' '--server-side' '--force-conflicts' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dOFMxqSUig customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbclustersyncs.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.EqRY34wOKV + rm /tmp/tmp.dOFMxqSUig /tmp/tmp.EqRY34wOKV + return 0 + '[' -n psmdb-operator ']' + apply_rbac cw-rbac + local operator_namespace=psmdb-operator + local rbac=cw-rbac + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.pDZeeZoLR6 ++ mktemp + local LAST_ERR=/tmp/tmp.UTxb1Alg3c + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.pDZeeZoLR6 clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.UTxb1Alg3c + rm /tmp/tmp.pDZeeZoLR6 /tmp/tmp.UTxb1Alg3c + return 0 + yq eval $'\n\t\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6") |\n\t\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-operator.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + cat - + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.HjHplA8enH ++ mktemp + local LAST_ERR=/tmp/tmp.lasQ9WhVY1 + local exit_status=0 + local timeout=4 + args=('apply' '-n' 'psmdb-operator' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -n psmdb-operator -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HjHplA8enH deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.lasQ9WhVY1 + rm /tmp/tmp.HjHplA8enH /tmp/tmp.lasQ9WhVY1 + return 0 + sleep 20 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.5XC5Ky7dl9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.YhUW9hIFBY ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5XC5Ky7dl9 ++ cat /tmp/tmp.YhUW9hIFBY ++ rm /tmp/tmp.5XC5Ky7dl9 /tmp/tmp.YhUW9hIFBY ++ return 0 + wait_operator_pod percona-server-mongodb-operator-78964f6749-lvb94 + local pod=percona-server-mongodb-operator-78964f6749-lvb94 + set +o xtrace waiting for pod/percona-server-mongodb-operator-78964f6749-lvb94 to be ready.OK + echo 'Print operator info from log' Print operator info from log + grep 'Manager starting up' ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.FU29AjPUxL +++ mktemp ++ local LAST_ERR=/tmp/tmp.cvvqDDl7PF ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[].metadata.name}' '-n' 'psmdb-operator') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FU29AjPUxL ++ cat /tmp/tmp.cvvqDDl7PF ++ rm /tmp/tmp.FU29AjPUxL /tmp/tmp.cvvqDDl7PF ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-78964f6749-lvb94 ++ mktemp + local LAST_OUT=/tmp/tmp.x7AMJFtT1p ++ mktemp + local LAST_ERR=/tmp/tmp.jRVLDuODfu + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-78964f6749-lvb94') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl logs -n psmdb-operator percona-server-mongodb-operator-78964f6749-lvb94 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.x7AMJFtT1p + cat /tmp/tmp.jRVLDuODfu + rm /tmp/tmp.x7AMJFtT1p /tmp/tmp.jRVLDuODfu + return 0 2026-08-04T13:16:32.652Z INFO setup Manager starting up {"gitCommit": "6cfab0ed6bdcd3601b0c48816a22ee4ab446b92a", "gitBranch": "PR-2491-6cfab0ed6", "buildTime": "", "goVersion": "go1.26.5", "os": "linux", "arch": "amd64"} + create_namespace split-horizon-31406 + local namespace=split-horizon-31406 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl api-resources ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + [[ -n '' ]] + desc 'cleaned up old namespaces split-horizon-31406' + set +o xtrace + xargs kubectl delete ns ----------------------------------------------------------------------------------- cleaned up old namespaces split-horizon-31406 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace split-horizon-31406 --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.5BOarTw6p5 ++ mktemp + local LAST_OUT=/tmp/tmp.2vaQT5wTmb ++ mktemp + local LAST_ERR=/tmp/tmp.IoaZ5bumHj + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_ERR=/tmp/tmp.TeLm3D6zOW + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'split-horizon-31406' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace split-horizon-31406 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5BOarTw6p5 + cat /tmp/tmp.IoaZ5bumHj + rm /tmp/tmp.5BOarTw6p5 /tmp/tmp.IoaZ5bumHj + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2vaQT5wTmb + cat /tmp/tmp.TeLm3D6zOW + rm /tmp/tmp.2vaQT5wTmb /tmp/tmp.TeLm3D6zOW + return 0 + kubectl_bin wait --for=delete namespace split-horizon-31406 ++ mktemp + local LAST_OUT=/tmp/tmp.My8L4pz3g3 ++ mktemp + local LAST_ERR=/tmp/tmp.NcXzui3gmS + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'split-horizon-31406') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete namespace split-horizon-31406 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.My8L4pz3g3 + cat /tmp/tmp.NcXzui3gmS + rm /tmp/tmp.My8L4pz3g3 /tmp/tmp.NcXzui3gmS + return 0 + desc 'create namespace split-horizon-31406' + set +o xtrace ----------------------------------------------------------------------------------- create namespace split-horizon-31406 ----------------------------------------------------------------------------------- + kubectl_bin create namespace split-horizon-31406 ++ mktemp + local LAST_OUT=/tmp/tmp.DByL0bZPvF ++ mktemp + local LAST_ERR=/tmp/tmp.9Reuxedrc0 + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'split-horizon-31406') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace split-horizon-31406 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DByL0bZPvF namespace/split-horizon-31406 created + cat /tmp/tmp.9Reuxedrc0 + rm /tmp/tmp.DByL0bZPvF /tmp/tmp.9Reuxedrc0 + return 0 + set_kube_ctx split-horizon-31406 + local namespace=split-horizon-31406 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.vCqNShMBoZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.5JIXEpfc9O ++ local exit_status=0 ++ local timeout=4 ++ args=('config' 'current-context') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vCqNShMBoZ ++ cat /tmp/tmp.5JIXEpfc9O ++ rm /tmp/tmp.vCqNShMBoZ /tmp/tmp.5JIXEpfc9O ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14 --namespace=split-horizon-31406 ++ mktemp + local LAST_OUT=/tmp/tmp.1JG6miYEGN ++ mktemp + local LAST_ERR=/tmp/tmp.JPb0c59wVF + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14' '--namespace=split-horizon-31406') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14 --namespace=split-horizon-31406 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1JG6miYEGN Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster14" modified. + cat /tmp/tmp.JPb0c59wVF + rm /tmp/tmp.1JG6miYEGN /tmp/tmp.JPb0c59wVF + return 0 + deploy_cert_manager + [[ gke == rancher ]] + desc 'deploy cert manager' + set +o xtrace ----------------------------------------------------------------------------------- deploy cert manager ----------------------------------------------------------------------------------- + kubectl_bin -n cert-manager delete clusterissuer --all ++ mktemp + local LAST_OUT=/tmp/tmp.K7vY15vMJN ++ mktemp + local LAST_ERR=/tmp/tmp.0isFw8zcDY + local exit_status=0 + local timeout=4 + args=('-n' 'cert-manager' 'delete' 'clusterissuer' '--all') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete clusterissuer --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.K7vY15vMJN + cat /tmp/tmp.0isFw8zcDY error: the server doesn't have a resource type "clusterissuer" + sleep 0 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete clusterissuer --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.K7vY15vMJN + cat /tmp/tmp.0isFw8zcDY error: the server doesn't have a resource type "clusterissuer" + sleep 4 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete clusterissuer --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.K7vY15vMJN + cat /tmp/tmp.0isFw8zcDY error: the server doesn't have a resource type "clusterissuer" + sleep 8 + cat /tmp/tmp.K7vY15vMJN + cat /tmp/tmp.0isFw8zcDY error: the server doesn't have a resource type "clusterissuer" + rm /tmp/tmp.K7vY15vMJN /tmp/tmp.0isFw8zcDY + return 1 + : + kubectl_bin -n cert-manager delete certificate --all ++ mktemp + local LAST_OUT=/tmp/tmp.igMdJAKrab ++ mktemp + local LAST_ERR=/tmp/tmp.xmNUyOMXOi + local exit_status=0 + local timeout=4 + args=('-n' 'cert-manager' 'delete' 'certificate' '--all') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete certificate --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.igMdJAKrab + cat /tmp/tmp.xmNUyOMXOi error: the server doesn't have a resource type "certificate" + sleep 0 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete certificate --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.igMdJAKrab + cat /tmp/tmp.xmNUyOMXOi error: the server doesn't have a resource type "certificate" + sleep 4 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager delete certificate --all + exit_status=1 + set -e + '[' 1 '!=' 0 -a -n 1 ']' + cat /tmp/tmp.igMdJAKrab + cat /tmp/tmp.xmNUyOMXOi error: the server doesn't have a resource type "certificate" + sleep 8 + cat /tmp/tmp.igMdJAKrab + cat /tmp/tmp.xmNUyOMXOi error: the server doesn't have a resource type "certificate" + rm /tmp/tmp.igMdJAKrab /tmp/tmp.xmNUyOMXOi + return 1 + : + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.KN8TotIKDh ++ mktemp + local LAST_ERR=/tmp/tmp.WAiufIKMa6 + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'cert-manager') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl create namespace cert-manager + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KN8TotIKDh namespace/cert-manager created + cat /tmp/tmp.WAiufIKMa6 + rm /tmp/tmp.KN8TotIKDh /tmp/tmp.WAiufIKMa6 + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.1VoSuVQQmC ++ mktemp + local LAST_ERR=/tmp/tmp.B82mlxBuQn + local exit_status=0 + local timeout=4 + args=('label' 'namespace' 'cert-manager' 'certmanager.k8s.io/disable-validation=true') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1VoSuVQQmC namespace/cert-manager labeled + cat /tmp/tmp.B82mlxBuQn + rm /tmp/tmp.1VoSuVQQmC /tmp/tmp.B82mlxBuQn + return 0 + curl -sL https://github.com/cert-manager/cert-manager/releases/download/v1.21.0/cert-manager.yaml + add_arch_to_podspecs - + kubectl_bin apply -f - --validate=false + arch_scheduling_enabled + [[ -n '' ]] + cat - + return namespace/cert-manager configured customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created serviceaccount/cert-manager-cainjector created serviceaccount/cert-manager created serviceaccount/cert-manager-webhook created clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view created clusterrole.rbac.authorization.k8s.io/cert-manager-view created clusterrole.rbac.authorization.k8s.io/cert-manager-edit created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created role.rbac.authorization.k8s.io/cert-manager:leaderelection created role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection created rolebinding.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created service/cert-manager-cainjector created service/cert-manager created service/cert-manager-webhook created deployment.apps/cert-manager-cainjector created deployment.apps/cert-manager created deployment.apps/cert-manager-webhook created mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created + kubectl_bin -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready ++ mktemp + local LAST_OUT=/tmp/tmp.MZnuB7nS4R ++ mktemp + local LAST_ERR=/tmp/tmp.YyewcoSCLt + local exit_status=0 + local timeout=4 + args=('-n' 'cert-manager' 'wait' 'pod' '-l' 'app.kubernetes.io/instance=cert-manager' '--for=condition=ready') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MZnuB7nS4R pod/cert-manager-cainjector-54796c9fd9-zj6cm condition met pod/cert-manager-ff6db7bc5-2nd7t condition met pod/cert-manager-webhook-79bbcc47c6-z2n54 condition met + cat /tmp/tmp.YyewcoSCLt + rm /tmp/tmp.MZnuB7nS4R /tmp/tmp.YyewcoSCLt + return 0 + sleep 120 + cluster=some-name + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client_with_tls.yml ++ mktemp + local LAST_OUT=/tmp/tmp.xqorpA51jA ++ mktemp + local LAST_ERR=/tmp/tmp.n6iWgobzLB + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/secrets.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client_with_tls.yml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client_with_tls.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xqorpA51jA secret/some-users created deployment.apps/psmdb-client created + cat /tmp/tmp.n6iWgobzLB + rm /tmp/tmp.xqorpA51jA /tmp/tmp.n6iWgobzLB + return 0 + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-3horizons.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-3horizons.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-3horizons.yml + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' ++ mktemp + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"' + yq eval '(.spec | select(has("search"))).search.image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongot"' + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/split-horizon-31406/g + local LAST_OUT=/tmp/tmp.Iob8KanHSL + add_arch_to_psmdb - + arch_scheduling_enabled + [[ -n '' ]] + cat - ++ mktemp + local LAST_ERR=/tmp/tmp.77wCeab0vV + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Iob8KanHSL perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.77wCeab0vV + rm /tmp/tmp.Iob8KanHSL /tmp/tmp.77wCeab0vV + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready............OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.............OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bQ9CIeTed8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.6fNzSAfzle ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bQ9CIeTed8 ++ cat /tmp/tmp.6fNzSAfzle ++ rm /tmp/tmp.bQ9CIeTed8 /tmp/tmp.6fNzSAfzle ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready............OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AZ69BrwAdh +++ mktemp ++ local LAST_ERR=/tmp/tmp.f0xrOirYYZ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.AZ69BrwAdh ++ cat /tmp/tmp.f0xrOirYYZ ++ rm /tmp/tmp.AZ69BrwAdh /tmp/tmp.f0xrOirYYZ ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yZHQToKuMP +++ mktemp ++ local LAST_ERR=/tmp/tmp.LDDObZYcU7 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yZHQToKuMP ++ cat /tmp/tmp.LDDObZYcU7 ++ rm /tmp/tmp.yZHQToKuMP /tmp/tmp.LDDObZYcU7 ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.96HzxLkkwD +++ mktemp ++ local LAST_ERR=/tmp/tmp.7Q2m5tqQlS ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.96HzxLkkwD ++ cat /tmp/tmp.7Q2m5tqQlS ++ rm /tmp/tmp.96HzxLkkwD /tmp/tmp.7Q2m5tqQlS ++ return 0 + [[ ready == ready ]] + echo .OK .OK + desc 'compare certificates and issuers' + set +o xtrace ----------------------------------------------------------------------------------- compare certificates and issuers ----------------------------------------------------------------------------------- + compare_kubectl certificate/some-name-ssl + local resource=certificate/some-name-ssl + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl.yml + local new_result=/tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl.yml + [[ -n '' ]] + kubectl_bin get -o yaml certificate/some-name-ssl + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("split-horizon-31406", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.s6GiGxNXen ++ mktemp + local LAST_ERR=/tmp/tmp.xXJscpTKtF + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'certificate/some-name-ssl') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml certificate/some-name-ssl + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.s6GiGxNXen + cat /tmp/tmp.xXJscpTKtF + rm /tmp/tmp.s6GiGxNXen /tmp/tmp.xXJscpTKtF + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl.yml /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl.yml + log 'compare_kubectl: certificate/some-name-ssl OK' + set +o xtrace [2026-08-04T13:22:06+0000] compare_kubectl: certificate/some-name-ssl OK + compare_kubectl certificate/some-name-ssl-internal + local resource=certificate/some-name-ssl-internal + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl-internal.yml + local new_result=/tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl-internal.yml + [[ -n '' ]] + kubectl_bin get -o yaml certificate/some-name-ssl-internal + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("split-horizon-31406", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.wovIEN3XYl ++ mktemp + local LAST_ERR=/tmp/tmp.kNnrWu5y8d + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'certificate/some-name-ssl-internal') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml certificate/some-name-ssl-internal + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wovIEN3XYl + cat /tmp/tmp.kNnrWu5y8d + rm /tmp/tmp.wovIEN3XYl /tmp/tmp.kNnrWu5y8d + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl-internal.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ bc -l ++ echo '1.33 >= 1.22' + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl-internal.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl-internal.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl-internal.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ssl-internal.yml /tmp/tmp.kV9hQzSIv2/certificate_some-name-ssl-internal.yml + log 'compare_kubectl: certificate/some-name-ssl-internal OK' + set +o xtrace [2026-08-04T13:22:07+0000] compare_kubectl: certificate/some-name-ssl-internal OK + compare_kubectl certificate/some-name-ca-cert + local resource=certificate/some-name-ca-cert + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ca-cert.yml + local new_result=/tmp/tmp.kV9hQzSIv2/certificate_some-name-ca-cert.yml + [[ -n '' ]] + kubectl_bin get -o yaml certificate/some-name-ca-cert + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("split-horizon-31406", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.6AKUDKDKT4 ++ mktemp + local LAST_ERR=/tmp/tmp.1TE82EbUk9 + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'certificate/some-name-ca-cert') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml certificate/some-name-ca-cert + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6AKUDKDKT4 + cat /tmp/tmp.1TE82EbUk9 + rm /tmp/tmp.6AKUDKDKT4 /tmp/tmp.1TE82EbUk9 + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ca-cert.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ca-cert.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.kV9hQzSIv2/certificate_some-name-ca-cert.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ca-cert.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/certificate_some-name-ca-cert.yml /tmp/tmp.kV9hQzSIv2/certificate_some-name-ca-cert.yml + log 'compare_kubectl: certificate/some-name-ca-cert OK' + set +o xtrace [2026-08-04T13:22:08+0000] compare_kubectl: certificate/some-name-ca-cert OK + compare_kubectl issuer/some-name-psmdb-ca-issuer + local resource=issuer/some-name-psmdb-ca-issuer + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-ca-issuer.yml + local new_result=/tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-ca-issuer.yml + [[ -n '' ]] + kubectl_bin get -o yaml issuer/some-name-psmdb-ca-issuer + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("split-horizon-31406", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - ++ mktemp + local LAST_OUT=/tmp/tmp.xBt8khxS5g ++ mktemp + local LAST_ERR=/tmp/tmp.Lm8BBVmkKW + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'issuer/some-name-psmdb-ca-issuer') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml issuer/some-name-psmdb-ca-issuer + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xBt8khxS5g + cat /tmp/tmp.Lm8BBVmkKW + rm /tmp/tmp.xBt8khxS5g /tmp/tmp.Lm8BBVmkKW + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-ca-issuer.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-ca-issuer.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-ca-issuer.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-ca-issuer.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-ca-issuer.yml /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-ca-issuer.yml + log 'compare_kubectl: issuer/some-name-psmdb-ca-issuer OK' + set +o xtrace [2026-08-04T13:22:09+0000] compare_kubectl: issuer/some-name-psmdb-ca-issuer OK + compare_kubectl issuer/some-name-psmdb-issuer + local resource=issuer/some-name-psmdb-issuer + local postfix= + local skip_generation_check= + local expected_result=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-issuer.yml + local new_result=/tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-issuer.yml + [[ -n '' ]] + yq eval $'\n\t\t\tdel(.metadata.ownerReferences[].apiVersion) |\n\t\t\tdel(.metadata.managedFields) |\n\t\t\tdel(.. | select(has("creationTimestamp")).creationTimestamp) |\n\t\t\tdel(.. | select(has("namespace")).namespace) |\n\t\t\tdel(.. | select(has("uid")).uid) |\n\t\t\tdel(.metadata.resourceVersion) |\n\t\t\tdel(.spec.template.spec.containers[].env[] | select(.name == "NAMESPACE")) |\n\t\t\tdel(.metadata.selfLink) |\n\t\t\tdel(.metadata.annotations."cloud.google.com/neg") |\n\t\t\tdel(.metadata.annotations."field.cattle.io/publicEndpoints") |\n\t\t\tdel(.metadata.annotations."metallb.io/ip-allocated-from-pool") |\n\t\t\tdel(.metadata.annotations."networking.gke.io/target-pool") |\n\t\t\tdel(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration") |\n\t\t\tdel(.. | select(has("image")).image) |\n\t\t\tdel(.. | select(has("clusterIP")).clusterIP) |\n\t\t\tdel(.. | select(has("clusterIPs")).clusterIPs) |\n\t\t\tdel(.. | select(has("dataSource")).dataSource) |\n\t\t\tdel(.. | select(has("procMount")).procMount) |\n\t\t\tdel(.. | select(has("storageClassName")).storageClassName) |\n\t\t\tdel(.. | select(has("finalizers")).finalizers) |\n\t\t\tdel(.. | select(has("kubernetes.io/pvc-protection"))."kubernetes.io/pvc-protection") |\n\t\t\tdel(.. | select(has("volumeName")).volumeName) |\n\t\t\tdel(.. | select(has("volume.beta.kubernetes.io/storage-provisioner"))."volume.beta.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/storage-provisioner"))."volume.kubernetes.io/storage-provisioner") |\n\t\t\tdel(.spec.volumeMode) |\n\t\t\tdel(.. | select(has("volume.kubernetes.io/selected-node"))."volume.kubernetes.io/selected-node") |\n\t\t\tdel(.. | select(has("percona.com/last-config-hash"))."percona.com/last-config-hash") |\n\t\t\tdel(.. | select(has("percona.com/configuration-hash"))."percona.com/configuration-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-hash"))."percona.com/ssl-hash") |\n\t\t\tdel(.. | select(has("percona.com/ssl-internal-hash"))."percona.com/ssl-internal-hash") |\n\t\t\tdel(.spec.volumeClaimTemplates[].spec.volumeMode | select(. == "Filesystem")) |\n\t\t\tdel(.. | select(has("healthCheckNodePort")).healthCheckNodePort) |\n\t\t\tdel(.. | select(has("nodePort")).nodePort) |\n\t\t\tdel(.status) |\n\t\t\t(.. | select(tag == "!!str")) |= sub("split-horizon-31406", "NAME_SPACE") |\n\t\t\tdel(.spec.volumeClaimTemplates[].apiVersion) |\n\t\t\tdel(.spec.volumeClaimTemplates[].kind) |\n\t\t\tdel(.spec.ipFamilies) |\n\t\t\tdel(.spec.ipFamilyPolicy) |\n\t\t\t(.. | select(. == "extensions/v1beta1")) = "apps/v1" |\n\t\t\t(.. | select(. == "batch/v1beta1")) = "batch/v1" ' - + kubectl_bin get -o yaml issuer/some-name-psmdb-issuer ++ mktemp + local LAST_OUT=/tmp/tmp.cFaTvupeZy ++ mktemp + local LAST_ERR=/tmp/tmp.W2az4WZ0bp + local exit_status=0 + local timeout=4 + args=('get' '-o' 'yaml' 'issuer/some-name-psmdb-issuer') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl get -o yaml issuer/some-name-psmdb-issuer + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cFaTvupeZy + cat /tmp/tmp.W2az4WZ0bp + rm /tmp/tmp.cFaTvupeZy /tmp/tmp.W2az4WZ0bp + return 0 + yq -i eval 'del(.spec.persistentVolumeClaimRetentionPolicy)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-issuer.yml + arch_scheduling_enabled + [[ -n '' ]] + version_gt 1.22 ++ echo '1.33 >= 1.22' ++ bc -l + '[' 1 -eq 1 ']' + return 0 + yq -i eval 'del(.spec.internalTrafficPolicy)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-issuer.yml + yq -i eval 'del(.spec.allocateLoadBalancerNodePorts)' /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-issuer.yml + [[ /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-issuer.yml == */cronjob* ]] + '[' -n '' ']' + [[ 0 -eq 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/issuer_some-name-psmdb-issuer.yml /tmp/tmp.kV9hQzSIv2/issuer_some-name-psmdb-issuer.yml + log 'compare_kubectl: issuer/some-name-psmdb-issuer OK' + set +o xtrace [2026-08-04T13:22:10+0000] compare_kubectl: issuer/some-name-psmdb-issuer OK + configure_client_hostAliases + local 'hostAliasesJson=[]' ++ kubectl get svc ++ grep -E '^[0-9].*' ++ awk '{print $3 "|" $1}' + for svc in $(kubectl get svc | awk '{print $3 "|" $1}' | grep -E '^[0-9].*') ++ echo '34.118.237.39|some-name-rs0-0' ++ awk -F '|' '{print $2}' + hostname=some-name-rs0-0 ++ echo '34.118.237.39|some-name-rs0-0' ++ awk -F '|' '{print $1}' + ip=34.118.237.39 + hostAlias='{"ip": "34.118.237.39", "hostnames": ["some-name-rs0-0.clouddemo.xyz"]}' ++ echo '[]' ++ jq --argjson newAlias '{"ip": "34.118.237.39", "hostnames": ["some-name-rs0-0.clouddemo.xyz"]}' '. += [$newAlias]' + hostAliasesJson=$'[\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n }\n]' + for svc in $(kubectl get svc | awk '{print $3 "|" $1}' | grep -E '^[0-9].*') ++ echo '34.118.236.0|some-name-rs0-1' ++ awk -F '|' '{print $2}' + hostname=some-name-rs0-1 ++ echo '34.118.236.0|some-name-rs0-1' ++ awk -F '|' '{print $1}' + ip=34.118.236.0 + hostAlias='{"ip": "34.118.236.0", "hostnames": ["some-name-rs0-1.clouddemo.xyz"]}' ++ echo $'[\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n }\n]' ++ jq --argjson newAlias '{"ip": "34.118.236.0", "hostnames": ["some-name-rs0-1.clouddemo.xyz"]}' '. += [$newAlias]' + hostAliasesJson=$'[\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.236.0",\n "hostnames": [\n "some-name-rs0-1.clouddemo.xyz"\n ]\n }\n]' + for svc in $(kubectl get svc | awk '{print $3 "|" $1}' | grep -E '^[0-9].*') ++ echo '34.118.229.3|some-name-rs0-2' ++ awk -F '|' '{print $2}' + hostname=some-name-rs0-2 ++ echo '34.118.229.3|some-name-rs0-2' ++ awk -F '|' '{print $1}' + ip=34.118.229.3 + hostAlias='{"ip": "34.118.229.3", "hostnames": ["some-name-rs0-2.clouddemo.xyz"]}' ++ echo $'[\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.236.0",\n "hostnames": [\n "some-name-rs0-1.clouddemo.xyz"\n ]\n }\n]' ++ jq --argjson newAlias '{"ip": "34.118.229.3", "hostnames": ["some-name-rs0-2.clouddemo.xyz"]}' '. += [$newAlias]' + hostAliasesJson=$'[\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.236.0",\n "hostnames": [\n "some-name-rs0-1.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.229.3",\n "hostnames": [\n "some-name-rs0-2.clouddemo.xyz"\n ]\n }\n]' + kubectl_bin patch deployment psmdb-client --type=json '-p=[{'\''op'\'': '\''replace'\'', '\''path'\'': '\''/spec/replicas'\'', '\''value'\'': 0}]' ++ mktemp + local LAST_OUT=/tmp/tmp.SiANMu5wka ++ mktemp + local LAST_ERR=/tmp/tmp.E7RzCVG3RG + local exit_status=0 + local timeout=4 + args=('patch' 'deployment' 'psmdb-client' '--type=json' '-p=[{'\''op'\'': '\''replace'\'', '\''path'\'': '\''/spec/replicas'\'', '\''value'\'': 0}]') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch deployment psmdb-client --type=json '-p=[{'\''op'\'': '\''replace'\'', '\''path'\'': '\''/spec/replicas'\'', '\''value'\'': 0}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SiANMu5wka deployment.apps/psmdb-client patched + cat /tmp/tmp.E7RzCVG3RG + rm /tmp/tmp.SiANMu5wka /tmp/tmp.E7RzCVG3RG + return 0 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.HXNdEUtFiU +++ mktemp ++ local LAST_ERR=/tmp/tmp.QmK6pqh8Mf ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.HXNdEUtFiU ++ cat /tmp/tmp.QmK6pqh8Mf ++ rm /tmp/tmp.HXNdEUtFiU /tmp/tmp.QmK6pqh8Mf ++ return 0 + wait_for_delete pod/psmdb-client-7fccbb9c8c-7w4wh + local res=pod/psmdb-client-7fccbb9c8c-7w4wh + local wait_time=60 + set +o xtrace waiting for pod/psmdb-client-7fccbb9c8c-7w4wh to be deleted.....Error from server (NotFound): pods "psmdb-client-7fccbb9c8c-7w4wh" not found Error from server (NotFound): pods "psmdb-client-7fccbb9c8c-7w4wh" not found Error from server (NotFound): pods "psmdb-client-7fccbb9c8c-7w4wh" not found Error from server (NotFound): pods "psmdb-client-7fccbb9c8c-7w4wh" not found + kubectl_bin patch deployment psmdb-client --type=json $'-p=[{\'op\': \'replace\', \'path\': \'/spec/template/spec/hostAliases\', \'value\': [\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.236.0",\n "hostnames": [\n "some-name-rs0-1.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.229.3",\n "hostnames": [\n "some-name-rs0-2.clouddemo.xyz"\n ]\n }\n]}, {\'op\': \'replace\', \'path\': \'/spec/replicas\', \'value\': 1}]' ++ mktemp + local LAST_OUT=/tmp/tmp.WD3KoIrhpM ++ mktemp + local LAST_ERR=/tmp/tmp.D6Eihqg6zl + local exit_status=0 + local timeout=4 + args=('patch' 'deployment' 'psmdb-client' '--type=json' '-p=[{'\''op'\'': '\''replace'\'', '\''path'\'': '\''/spec/template/spec/hostAliases'\'', '\''value'\'': [ { "ip": "34.118.237.39", "hostnames": [ "some-name-rs0-0.clouddemo.xyz" ] }, { "ip": "34.118.236.0", "hostnames": [ "some-name-rs0-1.clouddemo.xyz" ] }, { "ip": "34.118.229.3", "hostnames": [ "some-name-rs0-2.clouddemo.xyz" ] } ]}, {'\''op'\'': '\''replace'\'', '\''path'\'': '\''/spec/replicas'\'', '\''value'\'': 1}]') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch deployment psmdb-client --type=json $'-p=[{\'op\': \'replace\', \'path\': \'/spec/template/spec/hostAliases\', \'value\': [\n {\n "ip": "34.118.237.39",\n "hostnames": [\n "some-name-rs0-0.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.236.0",\n "hostnames": [\n "some-name-rs0-1.clouddemo.xyz"\n ]\n },\n {\n "ip": "34.118.229.3",\n "hostnames": [\n "some-name-rs0-2.clouddemo.xyz"\n ]\n }\n]}, {\'op\': \'replace\', \'path\': \'/spec/replicas\', \'value\': 1}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WD3KoIrhpM deployment.apps/psmdb-client patched + cat /tmp/tmp.D6Eihqg6zl + rm /tmp/tmp.WD3KoIrhpM /tmp/tmp.D6Eihqg6zl + return 0 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4icOXSPQq1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.AzQ2TCSGfY ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4icOXSPQq1 ++ cat /tmp/tmp.AzQ2TCSGfY ++ rm /tmp/tmp.4icOXSPQq1 /tmp/tmp.AzQ2TCSGfY ++ return 0 + wait_pod psmdb-client-578c65655b-7qcns + local pod=psmdb-client-578c65655b-7qcns + set +o xtrace waiting for pod/psmdb-client-578c65655b-7qcns to be ready.OK + sleep 10 + run_mongo_tls 'rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet + local 'command=rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|does not match the remote host name' + local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.uqIerr4dnU +++ mktemp ++ local LAST_ERR=/tmp/tmp.w53GWR9PlV ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.uqIerr4dnU ++ cat /tmp/tmp.w53GWR9PlV ++ rm /tmp/tmp.uqIerr4dnU /tmp/tmp.w53GWR9PlV ++ return 0 + local client_container=psmdb-client-578c65655b-7qcns + local mongo_flag=--quiet + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ mktemp + local LAST_OUT=/tmp/tmp.muCqlfOTu3 ++ mktemp + local LAST_ERR=/tmp/tmp.3TOpyiH0RZ + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.muCqlfOTu3 + cat /tmp/tmp.3TOpyiH0RZ + rm /tmp/tmp.muCqlfOTu3 /tmp/tmp.3TOpyiH0RZ + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/horizons-3.json /tmp/tmp.kV9hQzSIv2/horizons-3.json ++ run_mongo_tls 'db.hello().isWritablePrimary' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet ++ local 'command=db.hello().isWritablePrimary' ++ local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz ++ local driver=mongodb ++ local suffix=.svc.cluster.local ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|does not match the remote host name' ++ grep -v certificateNames +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.vrPywE5S1X ++++ mktemp +++ local LAST_ERR=/tmp/tmp.8UNxrmNsdY +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.vrPywE5S1X +++ cat /tmp/tmp.8UNxrmNsdY +++ rm /tmp/tmp.vrPywE5S1X /tmp/tmp.8UNxrmNsdY +++ return 0 ++ local client_container=psmdb-client-578c65655b-7qcns ++ local mongo_flag=--quiet ++ local port=27017 +++ awk -F: '{print $2}' +++ echo .svc.cluster.local ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 ++ [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] ++ replica_set=rs0 ++ kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ifeFMw4ACR +++ mktemp ++ local LAST_ERR=/tmp/tmp.src9GYkzDZ ++ local exit_status=0 ++ local timeout=4 ++ args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ifeFMw4ACR ++ cat /tmp/tmp.src9GYkzDZ ++ rm /tmp/tmp.ifeFMw4ACR /tmp/tmp.src9GYkzDZ ++ return 0 + isMaster=true + '[' true '!=' true ']' + run_mongo_tls 'rs.stepDown()' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet + local 'command=rs.stepDown()' + local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EafEGhSweZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.Q4tFvWPdv7 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EafEGhSweZ ++ cat /tmp/tmp.Q4tFvWPdv7 ++ rm /tmp/tmp.EafEGhSweZ /tmp/tmp.Q4tFvWPdv7 ++ return 0 + local client_container=psmdb-client-578c65655b-7qcns + local mongo_flag=--quiet + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.stepDown()\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ mktemp + local LAST_OUT=/tmp/tmp.cBSRqx9YYd ++ mktemp + local LAST_ERR=/tmp/tmp.FIxLNfYHAk + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''rs.stepDown()\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.stepDown()\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.cBSRqx9YYd { "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1785849780, 1), "signature" : { "hash" : BinData(0,"oHsyTNpnfu4MDrLzkqXeghcuvMw="), "keyId" : NumberLong("7670166014121738246") } }, "operationTime" : Timestamp(1785849780, 1) } + cat /tmp/tmp.FIxLNfYHAk + rm /tmp/tmp.cBSRqx9YYd /tmp/tmp.FIxLNfYHAk + return 0 + sleep 10 ++ run_mongo_tls 'db.hello().isWritablePrimary' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet ++ grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|does not match the remote host name' ++ grep -v certificateNames ++ local 'command=db.hello().isWritablePrimary' ++ local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz ++ local driver=mongodb ++ local suffix=.svc.cluster.local +++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.KGjkyhyvzt ++++ mktemp +++ local LAST_ERR=/tmp/tmp.YwEYGFVJPN +++ local exit_status=0 +++ local timeout=4 +++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') +++ local args +++ transformed_files=() +++ local transformed_files +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ arch_scheduling_enabled +++ [[ -n '' ]] ++++ seq 0 2 +++ for i in $(seq 0 2) +++ set +e +++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.KGjkyhyvzt +++ cat /tmp/tmp.YwEYGFVJPN +++ rm /tmp/tmp.KGjkyhyvzt /tmp/tmp.YwEYGFVJPN +++ return 0 ++ local client_container=psmdb-client-578c65655b-7qcns ++ local mongo_flag=--quiet ++ local port=27017 +++ echo .svc.cluster.local +++ awk -F: '{print $2}' ++ suffix_port= ++ [[ -z '' ]] ++ suffix=.svc.cluster.local:27017 ++ [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] ++ replica_set=rs0 ++ kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8eEIkIUSCE +++ mktemp ++ local LAST_ERR=/tmp/tmp.b5XDQB1UrI ++ local exit_status=0 ++ local timeout=4 ++ args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''db.hello().isWritablePrimary\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8eEIkIUSCE ++ cat /tmp/tmp.b5XDQB1UrI ++ rm /tmp/tmp.8eEIkIUSCE /tmp/tmp.b5XDQB1UrI ++ return 0 + isMaster=true + '[' true '!=' true ']' + desc 'scaling up the cluster' + set +o xtrace ----------------------------------------------------------------------------------- scaling up the cluster ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-5horizons.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-5horizons.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name-5horizons.yml ++ mktemp + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + /usr/sbin/sed -e s/NAME_SPACE/split-horizon-31406/g + yq eval '.spec.upgradeOptions.apply="Never"' + add_arch_to_psmdb - + yq eval '(.spec | select(has("search"))).search.image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongot"' + arch_scheduling_enabled + [[ -n '' ]] + cat - + local LAST_OUT=/tmp/tmp.m7jLWPOlsL ++ mktemp + local LAST_ERR=/tmp/tmp.ha0NPCBrZ0 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.m7jLWPOlsL perconaservermongodb.psmdb.percona.com/some-name configured + cat /tmp/tmp.ha0NPCBrZ0 + rm /tmp/tmp.m7jLWPOlsL /tmp/tmp.ha0NPCBrZ0 + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.b4ng82YOqJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.vQNibdNMwp ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.b4ng82YOqJ ++ cat /tmp/tmp.vQNibdNMwp ++ rm /tmp/tmp.b4ng82YOqJ /tmp/tmp.vQNibdNMwp ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Yoqlz6iMdM +++ mktemp ++ local LAST_ERR=/tmp/tmp.eorotzEkbi ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Yoqlz6iMdM ++ cat /tmp/tmp.eorotzEkbi ++ rm /tmp/tmp.Yoqlz6iMdM /tmp/tmp.eorotzEkbi ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.2fZCWQJ1Gd +++ mktemp ++ local LAST_ERR=/tmp/tmp.SWPqRoQ71H ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2fZCWQJ1Gd ++ cat /tmp/tmp.SWPqRoQ71H ++ rm /tmp/tmp.2fZCWQJ1Gd /tmp/tmp.SWPqRoQ71H ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready......................................... + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zWRmHDaxFt +++ mktemp ++ local LAST_ERR=/tmp/tmp.cLGJSwxgEJ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zWRmHDaxFt ++ cat /tmp/tmp.cLGJSwxgEJ ++ rm /tmp/tmp.zWRmHDaxFt /tmp/tmp.cLGJSwxgEJ ++ return 0 + [[ ready == ready ]] + echo .OK .OK + kubectl_bin patch psmdb some-name --type=json '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 5}]' ++ mktemp + local LAST_OUT=/tmp/tmp.X4kghCZgXH ++ mktemp + local LAST_ERR=/tmp/tmp.X9l7mrnC5q + local exit_status=0 + local timeout=4 + args=('patch' 'psmdb' 'some-name' '--type=json' '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 5}]') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb some-name --type=json '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 5}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.X4kghCZgXH perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.X9l7mrnC5q + rm /tmp/tmp.X4kghCZgXH /tmp/tmp.X9l7mrnC5q + return 0 + wait_for_running some-name-rs0 5 + local name=some-name-rs0 + let last_pod=4 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 4 + for i in $(seq 0 $last_pod) + [[ 0 -eq 4 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 4 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 4 ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 3 -eq 4 ]] + wait_pod some-name-rs0-3 + local pod=some-name-rs0-3 + set +o xtrace waiting for pod/some-name-rs0-3 to be ready.........OK + for i in $(seq 0 $last_pod) + [[ 4 -eq 4 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.gMhlhVIuUQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.fQ72vAf5Vd ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.gMhlhVIuUQ ++ cat /tmp/tmp.fQ72vAf5Vd ++ rm /tmp/tmp.gMhlhVIuUQ /tmp/tmp.fQ72vAf5Vd ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-4 + local pod=some-name-rs0-4 + set +o xtrace waiting for pod/some-name-rs0-4 to be ready..............OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Xbp2DNWaJA +++ mktemp ++ local LAST_ERR=/tmp/tmp.H0OwBxdBZC ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Xbp2DNWaJA ++ cat /tmp/tmp.H0OwBxdBZC ++ rm /tmp/tmp.Xbp2DNWaJA /tmp/tmp.H0OwBxdBZC ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.o6FnVmKxQK +++ mktemp ++ local LAST_ERR=/tmp/tmp.pv8luk3o4z ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.o6FnVmKxQK ++ cat /tmp/tmp.pv8luk3o4z ++ rm /tmp/tmp.o6FnVmKxQK /tmp/tmp.pv8luk3o4z ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PdORzZq9BL +++ mktemp ++ local LAST_ERR=/tmp/tmp.73JYdORCNa ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PdORzZq9BL ++ cat /tmp/tmp.73JYdORCNa ++ rm /tmp/tmp.PdORzZq9BL /tmp/tmp.73JYdORCNa ++ return 0 + [[ ready == ready ]] + echo .OK .OK + run_mongo_tls 'rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet + local 'command=rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' + local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz + local driver=mongodb + local suffix=.svc.cluster.local + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|does not match the remote host name' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0Xb1A2ACDX +++ mktemp ++ local LAST_ERR=/tmp/tmp.p6n5Bxf0Rm ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.0Xb1A2ACDX ++ cat /tmp/tmp.p6n5Bxf0Rm ++ rm /tmp/tmp.0Xb1A2ACDX /tmp/tmp.p6n5Bxf0Rm ++ return 0 + local client_container=psmdb-client-578c65655b-7qcns + local mongo_flag=--quiet + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ mktemp + local LAST_OUT=/tmp/tmp.N8PrrmUqgc ++ mktemp + local LAST_ERR=/tmp/tmp.L9Cz9hPbgz + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.N8PrrmUqgc + cat /tmp/tmp.L9Cz9hPbgz + rm /tmp/tmp.N8PrrmUqgc /tmp/tmp.L9Cz9hPbgz + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/horizons-5.json /tmp/tmp.kV9hQzSIv2/horizons-5.json + desc 'scaling down the cluster' + set +o xtrace ----------------------------------------------------------------------------------- scaling down the cluster ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb some-name --type=json '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 3}]' ++ mktemp + local LAST_OUT=/tmp/tmp.5KHXVgRRjj ++ mktemp + local LAST_ERR=/tmp/tmp.9RKoywmbhs + local exit_status=0 + local timeout=4 + args=('patch' 'psmdb' 'some-name' '--type=json' '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 3}]') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl patch psmdb some-name --type=json '-p=[{"op": "replace", "path": "/spec/replsets/0/size", "value": 3}]' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5KHXVgRRjj perconaservermongodb.psmdb.percona.com/some-name patched + cat /tmp/tmp.9RKoywmbhs + rm /tmp/tmp.5KHXVgRRjj /tmp/tmp.9RKoywmbhs + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hBUDZ9UkSv +++ mktemp ++ local LAST_ERR=/tmp/tmp.DQ7jBD8YYH ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hBUDZ9UkSv ++ cat /tmp/tmp.DQ7jBD8YYH ++ rm /tmp/tmp.hBUDZ9UkSv /tmp/tmp.DQ7jBD8YYH ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.s9Cb1IAmzm +++ mktemp ++ local LAST_ERR=/tmp/tmp.PAxXr8SB5B ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.s9Cb1IAmzm ++ cat /tmp/tmp.PAxXr8SB5B ++ rm /tmp/tmp.s9Cb1IAmzm /tmp/tmp.PAxXr8SB5B ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.e35q35WVln +++ mktemp ++ local LAST_ERR=/tmp/tmp.OFxQ665Syo ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.e35q35WVln ++ cat /tmp/tmp.OFxQ665Syo ++ rm /tmp/tmp.e35q35WVln /tmp/tmp.OFxQ665Syo ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready... + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5FI8D9LQOp +++ mktemp ++ local LAST_ERR=/tmp/tmp.zj9RwCRpGy ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5FI8D9LQOp ++ cat /tmp/tmp.zj9RwCRpGy ++ rm /tmp/tmp.5FI8D9LQOp /tmp/tmp.zj9RwCRpGy ++ return 0 + [[ ready == ready ]] + echo .OK .OK + run_mongo_tls 'rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz mongodb '' --quiet + local 'command=rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))' + local uri=clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz + local driver=mongodb + local suffix=.svc.cluster.local + grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:|does not match the remote host name' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LOkkFZg0nG +++ mktemp ++ local LAST_ERR=/tmp/tmp.DEG2mMRBlQ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=name=psmdb-client' '-o' 'jsonpath={.items[].metadata.name}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LOkkFZg0nG ++ cat /tmp/tmp.DEG2mMRBlQ ++ rm /tmp/tmp.LOkkFZg0nG /tmp/tmp.DEG2mMRBlQ ++ return 0 + local client_container=psmdb-client-578c65655b-7qcns + local mongo_flag=--quiet + local port=27017 ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 + [[ clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz == *cfg* ]] + replica_set=rs0 + kubectl_bin exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' ++ mktemp + local LAST_OUT=/tmp/tmp.7bbDPMkx9s ++ mktemp + local LAST_ERR=/tmp/tmp.Q1EJSCW3WZ + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-578c65655b-7qcns' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl exec psmdb-client-578c65655b-7qcns -- bash -c 'export HOME=/tmp; printf '\''rs.conf().members.map(function(member) { return member.horizons }).sort((a, b) => a.external.localeCompare(b.external))\n'\'' | mongo mongodb://clusterAdmin:clusterAdmin123456@some-name-rs0-0.clouddemo.xyz,some-name-rs0-1.clouddemo.xyz,some-name-rs0-2.clouddemo.xyz.svc.cluster.local:27017/admin?replicaSet=rs0 --tls --tlsCAFile /etc/mongodb-ssl/ca.crt --tlsCertificateKeyFile /tmp/tls.pem --tlsAllowInvalidHostnames --quiet' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7bbDPMkx9s + cat /tmp/tmp.Q1EJSCW3WZ + rm /tmp/tmp.7bbDPMkx9s /tmp/tmp.Q1EJSCW3WZ + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/compare/horizons-3.json /tmp/tmp.kV9hQzSIv2/horizons-3.json + desc 'remove horizon configuration' + set +o xtrace ----------------------------------------------------------------------------------- remove horizon configuration ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name.yml + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/split-horizon/conf/some-name.yml ++ mktemp + yq eval '(.spec | select(.image == null)).image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/perconalab/percona-server-mongodb-operator:main-backup"' + local LAST_OUT=/tmp/tmp.HQ8mMt53ny ++ mktemp + yq eval '(.spec | select(has("search"))).search.image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongot"' + yq eval '.spec.upgradeOptions.apply="Never"' + /usr/sbin/sed -e s/NAME_SPACE/split-horizon-31406/g + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + add_arch_to_psmdb - + local LAST_ERR=/tmp/tmp.xFpD822ioU + local exit_status=0 + local timeout=4 + args=('apply' '-f' '-') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + cat - ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl apply -f - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HQ8mMt53ny perconaservermongodb.psmdb.percona.com/some-name configured + cat /tmp/tmp.xFpD822ioU + rm /tmp/tmp.HQ8mMt53ny /tmp/tmp.xFpD822ioU + return 0 + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readiness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.MqbkHQ3UJS +++ mktemp ++ local LAST_ERR=/tmp/tmp.rzkSukYdww ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.MqbkHQ3UJS ++ cat /tmp/tmp.rzkSukYdww ++ rm /tmp/tmp.MqbkHQ3UJS /tmp/tmp.rzkSukYdww ++ return 0 + [[ '' == true ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.j3MZ7W0Aru +++ mktemp ++ local LAST_ERR=/tmp/tmp.S1zhS4yeG7 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.j3MZ7W0Aru ++ cat /tmp/tmp.S1zhS4yeG7 ++ rm /tmp/tmp.j3MZ7W0Aru /tmp/tmp.S1zhS4yeG7 ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.xjiiHp7pBS +++ mktemp ++ local LAST_ERR=/tmp/tmp.MRA8LTpmQZ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.xjiiHp7pBS ++ cat /tmp/tmp.MRA8LTpmQZ ++ rm /tmp/tmp.xjiiHp7pBS /tmp/tmp.MRA8LTpmQZ ++ return 0 + [[ '' == true ]] + sleep 10 + [[ true == true ]] + set +x Waiting for cluster some-name to be ready............................................. + wait_cluster_consistency some-name + local cluster_name=some-name + local wait_time=32 + retry=0 + sleep 7 + echo -n 'waiting for cluster some-name to be ready' waiting for cluster some-name to be ready++ kubectl_bin get psmdb some-name -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zkel4zcZfx +++ mktemp ++ local LAST_ERR=/tmp/tmp.khR8MeTQdL ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'some-name' '-o' 'jsonpath={.status.state}') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zkel4zcZfx ++ cat /tmp/tmp.khR8MeTQdL ++ rm /tmp/tmp.zkel4zcZfx /tmp/tmp.khR8MeTQdL ++ return 0 + [[ ready == ready ]] + echo .OK .OK + destroy split-horizon-31406 + local namespace=split-horizon-31406 + local ignore_logs=true + [[ 0 == 1 ]] + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false ']' + delete_backups + desc 'Delete psmdb-backup' + set +o xtrace ----------------------------------------------------------------------------------- Delete psmdb-backup ----------------------------------------------------------------------------------- ++ kubectl_bin get psmdb-backup --no-headers ++ wc -l +++ mktemp ++ local LAST_OUT=/tmp/tmp.s3KrcRDkfA +++ mktemp ++ local LAST_ERR=/tmp/tmp.rvxNS8FEpG ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb-backup' '--no-headers') ++ local args ++ transformed_files=() ++ local transformed_files ++ arch_scheduling_enabled ++ [[ -n '' ]] ++ arch_scheduling_enabled ++ [[ -n '' ]] +++ seq 0 2 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get psmdb-backup --no-headers ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.s3KrcRDkfA ++ cat /tmp/tmp.rvxNS8FEpG No resources found in split-horizon-31406 namespace. ++ rm /tmp/tmp.s3KrcRDkfA /tmp/tmp.rvxNS8FEpG ++ return 0 + '[' 0 '!=' 0 ']' + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.87gQ6hdNru ++ mktemp + local LAST_ERR=/tmp/tmp.glQWX07e5L + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml' '--ignore-not-found' '--wait=false') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.87gQ6hdNru customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.glQWX07e5L + rm /tmp/tmp.87gQ6hdNru /tmp/tmp.glQWX07e5L + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml ++ grep -v '\-\-\-' grep: warning: stray \ before - grep: warning: stray \ before - + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + grep -v NAMESPACE + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.DCtgjOIiIw ++ mktemp + local LAST_ERR=/tmp/tmp.tDd2GueBaE + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbbackups.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DCtgjOIiIw + cat /tmp/tmp.tDd2GueBaE + rm /tmp/tmp.DCtgjOIiIw /tmp/tmp.tDd2GueBaE + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbclustersyncs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + kubectl patch perconaservermongodbclustersyncs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbclustersyncs" + : + kubectl_bin wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.AEG7jKodUf ++ mktemp + local LAST_ERR=/tmp/tmp.Ggr7hE4wtM + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbclustersyncs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbclustersyncs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.AEG7jKodUf + cat /tmp/tmp.Ggr7hE4wtM + rm /tmp/tmp.AEG7jKodUf /tmp/tmp.Ggr7hE4wtM + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + grep -v NAMESPACE error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.tIdgBLvOGc ++ mktemp + local LAST_ERR=/tmp/tmp.tAfjTI9xqu + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbrestores.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tIdgBLvOGc + cat /tmp/tmp.tAfjTI9xqu + rm /tmp/tmp.tIdgBLvOGc /tmp/tmp.tAfjTI9xqu + return 0 + for crd_name in $(yq eval '.metadata.name' "${src_dir}/deploy/crd.yaml" | grep -v '\-\-\-') + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.zdipcF0Je6 ++ mktemp + local LAST_ERR=/tmp/tmp.bKeEu4zro5 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'crd' 'perconaservermongodbs.psmdb.percona.com') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.zdipcF0Je6 + cat /tmp/tmp.bKeEu4zro5 + rm /tmp/tmp.zdipcF0Je6 /tmp/tmp.bKeEu4zro5 + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.2fn7g6WEei ++ mktemp + local LAST_ERR=/tmp/tmp.EWSvjgCaTp + local exit_status=0 + local timeout=4 + args=('delete' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.2fn7g6WEei clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.EWSvjgCaTp + rm /tmp/tmp.2fn7g6WEei /tmp/tmp.EWSvjgCaTp + return 0 + destroy_cert_manager + [[ gke == rancher ]] + kubectl_bin delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.21.0/cert-manager.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.RPQ3iF7Ov2 ++ mktemp + local LAST_ERR=/tmp/tmp.JRkbZ8d6sV + local exit_status=0 + local timeout=4 + args=('delete' '-f' 'https://github.com/cert-manager/cert-manager/releases/download/v1.21.0/cert-manager.yaml') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.21.0/cert-manager.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RPQ3iF7Ov2 namespace "cert-manager" deleted customresourcedefinition.apiextensions.k8s.io "challenges.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "orders.acme.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificaterequests.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "certificates.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "clusterissuers.cert-manager.io" deleted customresourcedefinition.apiextensions.k8s.io "issuers.cert-manager.io" deleted serviceaccount "cert-manager-cainjector" deleted from cert-manager namespace serviceaccount "cert-manager" deleted from cert-manager namespace serviceaccount "cert-manager-webhook" deleted from cert-manager namespace clusterrole.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-cluster-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-view" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-edit" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrole.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-cainjector" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-issuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-clusterissuers" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificates" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-orders" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-challenges" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-ingress-shim" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-approve:cert-manager-io" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-controller-certificatesigningrequests" deleted clusterrolebinding.rbac.authorization.k8s.io "cert-manager-webhook:subjectaccessreviews" deleted role.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace role.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace rolebinding.rbac.authorization.k8s.io "cert-manager-cainjector:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager:leaderelection" deleted from kube-system namespace rolebinding.rbac.authorization.k8s.io "cert-manager-webhook:dynamic-serving" deleted from cert-manager namespace service "cert-manager-cainjector" deleted from cert-manager namespace service "cert-manager" deleted from cert-manager namespace service "cert-manager-webhook" deleted from cert-manager namespace deployment.apps "cert-manager-cainjector" deleted from cert-manager namespace deployment.apps "cert-manager" deleted from cert-manager namespace deployment.apps "cert-manager-webhook" deleted from cert-manager namespace mutatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted validatingwebhookconfiguration.admissionregistration.k8s.io "cert-manager-webhook" deleted + cat /tmp/tmp.JRkbZ8d6sV + rm /tmp/tmp.RPQ3iF7Ov2 /tmp/tmp.JRkbZ8d6sV + return 0 + [[ -n '' ]] + '[' -n psmdb-operator ']' + kubectl_bin delete --grace-period=0 --force=true namespace split-horizon-31406 + rm -rf /tmp/tmp.kV9hQzSIv2 + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.MnuE2VRZWX + local LAST_OUT=/tmp/tmp.1F92yFeBuh ++ mktemp ++ mktemp + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- + local LAST_ERR=/tmp/tmp.2bHG346X78 + local exit_status=0 + local timeout=4 + args=('delete' '--grace-period=0' '--force=true' 'namespace' 'split-horizon-31406') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + local LAST_ERR=/tmp/tmp.EeDNYs1YnG + local exit_status=0 + local timeout=4 + args=('delete' '--grace-period=0' '--force=true' 'namespace' 'psmdb-operator') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace split-horizon-31406 + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace psmdb-operator ==================================================================================================== [PASSED] e2e-tests/test_pytest_wrapper.py::test_bash_wrapper ==================================================================================================== --------------------------------------------- generated xml file: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/split-horizon.xml ---------------------------------------------- ---------------------------------------- Generated html report: file:///mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/split-horizon.html ---------------------------------------- ==================================================================================== 1 passed in 879.27s (0:14:39) ===================================================================================== + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1F92yFeBuh namespace "psmdb-operator" force deleted + cat /tmp/tmp.EeDNYs1YnG Warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. + rm /tmp/tmp.1F92yFeBuh /tmp/tmp.EeDNYs1YnG + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MnuE2VRZWX namespace "split-horizon-31406" force deleted + cat /tmp/tmp.2bHG346X78 Warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. + rm /tmp/tmp.MnuE2VRZWX /tmp/tmp.2bHG346X78 + return 0