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[upgrade-sharded] [13:24:24.990998] WARNING kubectl error: Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 [13:24:26.412957] 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 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Debug logging disabled. + cluster=upgrade-sharded + CLUSTER_SIZE=3 + TARGET_OPERATOR_VER=1.24.0 + TARGET_IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 + TARGET_IMAGE_MONGOD=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 + TARGET_IMAGE_PMM_CLIENT=docker.io/percona/pmm-client:2.44.1-1 + TARGET_IMAGE_BACKUP=docker.io/perconalab/percona-server-mongodb-operator:main-backup ++ get_mongod_ver_from_image docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ++ local image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ run_simple_cli_inside_image docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 'mongod --version' +++ local image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 +++ /usr/sbin/sed -r 's/^.*db version v(([0-9]+\.){2}[0-9]+-[0-9]+).*$/\1/g' +++ local 'cli=mongod --version' +++ local pod_name=22126 +++ run_args=() +++ local run_args +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ kubectl_bin -n default run 22126 --image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 --restart=Never --command -- sleep infinity ++++ mktemp +++ local LAST_OUT=/tmp/tmp.CTb7U3bTh7 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Fyclg8VokV +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'run' '22126' '--image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0' '--restart=Never' '--command' '--' 'sleep' 'infinity') +++ 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 default run 22126 --image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 --restart=Never --command -- sleep infinity +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.CTb7U3bTh7 +++ cat /tmp/tmp.Fyclg8VokV +++ rm /tmp/tmp.CTb7U3bTh7 /tmp/tmp.Fyclg8VokV +++ return 0 +++ kubectl_bin -n default wait --for=condition=Ready pod/22126 ++++ mktemp +++ local LAST_OUT=/tmp/tmp.lHkQrRYb1X ++++ mktemp +++ local LAST_ERR=/tmp/tmp.6jSAZhCjGn +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'wait' '--for=condition=Ready' 'pod/22126') +++ 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 default wait --for=condition=Ready pod/22126 +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.lHkQrRYb1X +++ cat /tmp/tmp.6jSAZhCjGn +++ rm /tmp/tmp.lHkQrRYb1X /tmp/tmp.6jSAZhCjGn +++ return 0 ++++ kubectl_bin -n default exec 22126 -- bash -c 'mongod --version 2>&1' +++++ mktemp ++++ local LAST_OUT=/tmp/tmp.u76x2n0cS4 +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.UNK9NzhxjR ++++ local exit_status=0 ++++ local timeout=4 ++++ args=('-n' 'default' 'exec' '22126' '--' 'bash' '-c' 'mongod --version 2>&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 -n default exec 22126 -- bash -c 'mongod --version 2>&1' ++++ exit_status=0 ++++ set -e ++++ '[' 0 '!=' 0 -a -n 1 ']' ++++ break ++++ cat /tmp/tmp.u76x2n0cS4 ++++ cat /tmp/tmp.UNK9NzhxjR ++++ rm /tmp/tmp.u76x2n0cS4 /tmp/tmp.UNK9NzhxjR ++++ return 0 +++ local $'output=db version v8.0.26-11\nBuild Info: {\n "version": "8.0.26-11",\n "gitVersion": "70b8c97ecabb33a90d0906d1612639dcf5e5dd85",\n "openSSLVersion": "OpenSSL 3.5.5 27 Jan 2026",\n "modules": [],\n "perconaFeatures": [\n "MemoryEngine",\n "HotBackup",\n "BackupCursorAggregationStage",\n "BackupCursorExtendAggregationStage",\n "AWSIAM",\n "Kerberos",\n "LDAP",\n "OIDC",\n "TDE",\n "FIPSMode",\n "FCBIS",\n "Auditing",\n "ProfilingRateLimit",\n "LogRedaction",\n "ngram"\n ],\n "allocator": "tcmalloc-google",\n "environment": {\n "distarch": "x86_64",\n "target_arch": "x86_64"\n }\n}' +++ kubectl_bin -n default delete pod/22126 --grace-period=0 --force ++++ mktemp +++ local LAST_OUT=/tmp/tmp.bRytkfchbC ++++ mktemp +++ local LAST_ERR=/tmp/tmp.jnODOM74yA +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'delete' 'pod/22126' '--grace-period=0' '--force') +++ 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 default delete pod/22126 --grace-period=0 --force +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.bRytkfchbC +++ cat /tmp/tmp.jnODOM74yA 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.bRytkfchbC /tmp/tmp.jnODOM74yA +++ return 0 +++ echo db version v8.0.26-11 Build Info: '{' '"version":' '"8.0.26-11",' '"gitVersion":' '"70b8c97ecabb33a90d0906d1612639dcf5e5dd85",' '"openSSLVersion":' '"OpenSSL' 3.5.5 27 Jan '2026",' '"modules":' '[],' '"perconaFeatures":' '[' '"MemoryEngine",' '"HotBackup",' '"BackupCursorAggregationStage",' '"BackupCursorExtendAggregationStage",' '"AWSIAM",' '"Kerberos",' '"LDAP",' '"OIDC",' '"TDE",' '"FIPSMode",' '"FCBIS",' '"Auditing",' '"ProfilingRateLimit",' '"LogRedaction",' '"ngram"' '],' '"allocator":' '"tcmalloc-google",' '"environment":' '{' '"distarch":' '"x86_64",' '"target_arch":' '"x86_64"' '}' '}' ++ version_info=8.0.26-11 ++ [[ ! 8.0.26-11 =~ ^([0-9]+\.){2}[0-9]+-[0-9]+$ ]] ++ echo 8.0.26-11 + FULL_VER=8.0.26-11 + MONGO_VER=8.0 ++ curl -s https://check.percona.com/versions/v1/psmdb-operator ++ jq -r '.versions[].operator' ++ sort -V ++ tail -n1 + INIT_OPERATOR_VER=1.23.0 + [[ 1.23.0 == 1\.24\.0 ]] + GIT_TAG=v1.23.0 + case $(curl -s -o /dev/null -w "%{http_code}" 'https://check.percona.com/versions/v1/psmdb-operator/'${INIT_OPERATOR_VER}/'latest?databaseVersion='${MONGO_VER}'') in ++ curl -s -o /dev/null -w '%{http_code}' 'https://check.percona.com/versions/v1/psmdb-operator/1.23.0/latest?databaseVersion=8.0' ++ curl -s 'https://check.percona.com/versions/v1/psmdb-operator/1.23.0/latest?databaseVersion=8.0' + INIT_OPERATOR_IMAGES='{"versions":[{"product":"psmdb-operator","operator":"1.23.0","matrix":{"mongod":{"8.0.26-11":{"imagePath":"percona/percona-server-mongodb:8.0.26-11","imageHash":"e258e1faf74fb3d521bb2732d2a05fe3b7318335974ef3ddf33783746f6c084f","imageHashArm64":"2515c4680c8945febea98de5333a9a9895e39e2bf7f9ec0f240f04b1fe1dc645","status":"recommended","critical":false}},"pxc":{},"pmm":{"2.44.1-1":{"imagePath":"percona/pmm-client:2.44.1-1","imageHash":"52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3","imageHashArm64":"390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b","status":"recommended","critical":false},"3.8.1":{"imagePath":"percona/pmm-client:3.8.1","imageHash":"a92cfb7f912bd85d8245575c3ee5c423664ad2baedb674d159a87b113dbd4de2","imageHashArm64":"3fe427c0666337df7613824da5f3b5fb7397e849f70402ac557c1324c5d996e6","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.15.0":{"imagePath":"percona/percona-backup-mongodb:2.15.0","imageHash":"2c69ec2dbd5be02df31577869df97c72781bf6fe6456471e8087b0e03136f672","imageHashArm64":"188c38f60e54b9864e74e346209c0a924b6c8b0829062a31d44a5abb42626703","status":"recommended","critical":false}},"operator":{"1.23.0":{"imagePath":"percona/percona-server-mongodb-operator:1.23.0","imageHash":"a358e2b1f9045b9e7cf1283c8f812edb79082cb72e802de16a71bb99eeef111c","imageHashArm64":"c912bc013a7474fdfe5b01fe841fa185006ef22e3c13de0d07669e5664973f9f","status":"recommended","critical":false}},"logCollector":{"5.0.9-1":{"imagePath":"percona/fluentbit:5.0.9-1","imageHash":"1ca02c2c820697ea943b39ab3e033446eca383343bb61acc71981548d31f4c7f","imageHashArm64":"1814577514a49b851c59d1bf6ad5ec360ebd04d53ce9f5ece5209498b5c6a64b","status":"recommended","critical":false}},"postgresql":{},"pgbackrest":{},"pgbackrestRepo":{},"pgbadger":{},"pgbouncer":{},"pxcOperator":{},"psmdbOperator":{},"pgOperatorApiserver":{},"pgOperatorEvent":{},"pgOperatorRmdata":{},"pgOperatorScheduler":{},"pgOperator":{},"pgOperatorDeployer":{},"psOperator":{},"mysql":{},"router":{},"orchestrator":{},"toolkit":{},"postgis":{},"binlogServer":{},"pgupgrade":{}}}]}' + OPERATOR_NAME=percona-server-mongodb-operator ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.23.0","matrix":{"mongod":{"8.0.26-11":{"imagePath":"percona/percona-server-mongodb:8.0.26-11","imageHash":"e258e1faf74fb3d521bb2732d2a05fe3b7318335974ef3ddf33783746f6c084f","imageHashArm64":"2515c4680c8945febea98de5333a9a9895e39e2bf7f9ec0f240f04b1fe1dc645","status":"recommended","critical":false}},"pxc":{},"pmm":{"2.44.1-1":{"imagePath":"percona/pmm-client:2.44.1-1","imageHash":"52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3","imageHashArm64":"390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b","status":"recommended","critical":false},"3.8.1":{"imagePath":"percona/pmm-client:3.8.1","imageHash":"a92cfb7f912bd85d8245575c3ee5c423664ad2baedb674d159a87b113dbd4de2","imageHashArm64":"3fe427c0666337df7613824da5f3b5fb7397e849f70402ac557c1324c5d996e6","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.15.0":{"imagePath":"percona/percona-backup-mongodb:2.15.0","imageHash":"2c69ec2dbd5be02df31577869df97c72781bf6fe6456471e8087b0e03136f672","imageHashArm64":"188c38f60e54b9864e74e346209c0a924b6c8b0829062a31d44a5abb42626703","status":"recommended","critical":false}},"operator":{"1.23.0":{"imagePath":"percona/percona-server-mongodb-operator:1.23.0","imageHash":"a358e2b1f9045b9e7cf1283c8f812edb79082cb72e802de16a71bb99eeef111c","imageHashArm64":"c912bc013a7474fdfe5b01fe841fa185006ef22e3c13de0d07669e5664973f9f","status":"recommended","critical":false}},"logCollector":{"5.0.9-1":{"imagePath":"percona/fluentbit:5.0.9-1","imageHash":"1ca02c2c820697ea943b39ab3e033446eca383343bb61acc71981548d31f4c7f","imageHashArm64":"1814577514a49b851c59d1bf6ad5ec360ebd04d53ce9f5ece5209498b5c6a64b","status":"recommended","critical":false}},"postgresql":{},"pgbackrest":{},"pgbackrestRepo":{},"pgbadger":{},"pgbouncer":{},"pxcOperator":{},"psmdbOperator":{},"pgOperatorApiserver":{},"pgOperatorEvent":{},"pgOperatorRmdata":{},"pgOperatorScheduler":{},"pgOperator":{},"pgOperatorDeployer":{},"psOperator":{},"mysql":{},"router":{},"orchestrator":{},"toolkit":{},"postgis":{},"binlogServer":{},"pgupgrade":{}}}]}' ++ jq -r '.versions[].matrix.operator[].imagePath' + IMAGE=percona/percona-server-mongodb-operator:1.23.0 + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 == perconalab/* ]] + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 == */perconalab/* ]] + IMAGE=perconalab/percona-server-mongodb-operator:1.23.0 ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.23.0","matrix":{"mongod":{"8.0.26-11":{"imagePath":"percona/percona-server-mongodb:8.0.26-11","imageHash":"e258e1faf74fb3d521bb2732d2a05fe3b7318335974ef3ddf33783746f6c084f","imageHashArm64":"2515c4680c8945febea98de5333a9a9895e39e2bf7f9ec0f240f04b1fe1dc645","status":"recommended","critical":false}},"pxc":{},"pmm":{"2.44.1-1":{"imagePath":"percona/pmm-client:2.44.1-1","imageHash":"52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3","imageHashArm64":"390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b","status":"recommended","critical":false},"3.8.1":{"imagePath":"percona/pmm-client:3.8.1","imageHash":"a92cfb7f912bd85d8245575c3ee5c423664ad2baedb674d159a87b113dbd4de2","imageHashArm64":"3fe427c0666337df7613824da5f3b5fb7397e849f70402ac557c1324c5d996e6","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.15.0":{"imagePath":"percona/percona-backup-mongodb:2.15.0","imageHash":"2c69ec2dbd5be02df31577869df97c72781bf6fe6456471e8087b0e03136f672","imageHashArm64":"188c38f60e54b9864e74e346209c0a924b6c8b0829062a31d44a5abb42626703","status":"recommended","critical":false}},"operator":{"1.23.0":{"imagePath":"percona/percona-server-mongodb-operator:1.23.0","imageHash":"a358e2b1f9045b9e7cf1283c8f812edb79082cb72e802de16a71bb99eeef111c","imageHashArm64":"c912bc013a7474fdfe5b01fe841fa185006ef22e3c13de0d07669e5664973f9f","status":"recommended","critical":false}},"logCollector":{"5.0.9-1":{"imagePath":"percona/fluentbit:5.0.9-1","imageHash":"1ca02c2c820697ea943b39ab3e033446eca383343bb61acc71981548d31f4c7f","imageHashArm64":"1814577514a49b851c59d1bf6ad5ec360ebd04d53ce9f5ece5209498b5c6a64b","status":"recommended","critical":false}},"postgresql":{},"pgbackrest":{},"pgbackrestRepo":{},"pgbadger":{},"pgbouncer":{},"pxcOperator":{},"psmdbOperator":{},"pgOperatorApiserver":{},"pgOperatorEvent":{},"pgOperatorRmdata":{},"pgOperatorScheduler":{},"pgOperator":{},"pgOperatorDeployer":{},"psOperator":{},"mysql":{},"router":{},"orchestrator":{},"toolkit":{},"postgis":{},"binlogServer":{},"pgupgrade":{}}}]}' ++ jq -r '.versions[].matrix.mongod[].imagePath' + IMAGE_MONGOD=percona/percona-server-mongodb:8.0.26-11 ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.23.0","matrix":{"mongod":{"8.0.26-11":{"imagePath":"percona/percona-server-mongodb:8.0.26-11","imageHash":"e258e1faf74fb3d521bb2732d2a05fe3b7318335974ef3ddf33783746f6c084f","imageHashArm64":"2515c4680c8945febea98de5333a9a9895e39e2bf7f9ec0f240f04b1fe1dc645","status":"recommended","critical":false}},"pxc":{},"pmm":{"2.44.1-1":{"imagePath":"percona/pmm-client:2.44.1-1","imageHash":"52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3","imageHashArm64":"390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b","status":"recommended","critical":false},"3.8.1":{"imagePath":"percona/pmm-client:3.8.1","imageHash":"a92cfb7f912bd85d8245575c3ee5c423664ad2baedb674d159a87b113dbd4de2","imageHashArm64":"3fe427c0666337df7613824da5f3b5fb7397e849f70402ac557c1324c5d996e6","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.15.0":{"imagePath":"percona/percona-backup-mongodb:2.15.0","imageHash":"2c69ec2dbd5be02df31577869df97c72781bf6fe6456471e8087b0e03136f672","imageHashArm64":"188c38f60e54b9864e74e346209c0a924b6c8b0829062a31d44a5abb42626703","status":"recommended","critical":false}},"operator":{"1.23.0":{"imagePath":"percona/percona-server-mongodb-operator:1.23.0","imageHash":"a358e2b1f9045b9e7cf1283c8f812edb79082cb72e802de16a71bb99eeef111c","imageHashArm64":"c912bc013a7474fdfe5b01fe841fa185006ef22e3c13de0d07669e5664973f9f","status":"recommended","critical":false}},"logCollector":{"5.0.9-1":{"imagePath":"percona/fluentbit:5.0.9-1","imageHash":"1ca02c2c820697ea943b39ab3e033446eca383343bb61acc71981548d31f4c7f","imageHashArm64":"1814577514a49b851c59d1bf6ad5ec360ebd04d53ce9f5ece5209498b5c6a64b","status":"recommended","critical":false}},"postgresql":{},"pgbackrest":{},"pgbackrestRepo":{},"pgbadger":{},"pgbouncer":{},"pxcOperator":{},"psmdbOperator":{},"pgOperatorApiserver":{},"pgOperatorEvent":{},"pgOperatorRmdata":{},"pgOperatorScheduler":{},"pgOperator":{},"pgOperatorDeployer":{},"psOperator":{},"mysql":{},"router":{},"orchestrator":{},"toolkit":{},"postgis":{},"binlogServer":{},"pgupgrade":{}}}]}' ++ jq -r '.versions[].matrix.pmm[].imagePath' + IMAGE_PMM_CLIENT=$'percona/pmm-client:2.44.1-1\npercona/pmm-client:3.8.1' ++ jq -r '.versions[].matrix.backup[].imagePath' ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.23.0","matrix":{"mongod":{"8.0.26-11":{"imagePath":"percona/percona-server-mongodb:8.0.26-11","imageHash":"e258e1faf74fb3d521bb2732d2a05fe3b7318335974ef3ddf33783746f6c084f","imageHashArm64":"2515c4680c8945febea98de5333a9a9895e39e2bf7f9ec0f240f04b1fe1dc645","status":"recommended","critical":false}},"pxc":{},"pmm":{"2.44.1-1":{"imagePath":"percona/pmm-client:2.44.1-1","imageHash":"52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3","imageHashArm64":"390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b","status":"recommended","critical":false},"3.8.1":{"imagePath":"percona/pmm-client:3.8.1","imageHash":"a92cfb7f912bd85d8245575c3ee5c423664ad2baedb674d159a87b113dbd4de2","imageHashArm64":"3fe427c0666337df7613824da5f3b5fb7397e849f70402ac557c1324c5d996e6","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.15.0":{"imagePath":"percona/percona-backup-mongodb:2.15.0","imageHash":"2c69ec2dbd5be02df31577869df97c72781bf6fe6456471e8087b0e03136f672","imageHashArm64":"188c38f60e54b9864e74e346209c0a924b6c8b0829062a31d44a5abb42626703","status":"recommended","critical":false}},"operator":{"1.23.0":{"imagePath":"percona/percona-server-mongodb-operator:1.23.0","imageHash":"a358e2b1f9045b9e7cf1283c8f812edb79082cb72e802de16a71bb99eeef111c","imageHashArm64":"c912bc013a7474fdfe5b01fe841fa185006ef22e3c13de0d07669e5664973f9f","status":"recommended","critical":false}},"logCollector":{"5.0.9-1":{"imagePath":"percona/fluentbit:5.0.9-1","imageHash":"1ca02c2c820697ea943b39ab3e033446eca383343bb61acc71981548d31f4c7f","imageHashArm64":"1814577514a49b851c59d1bf6ad5ec360ebd04d53ce9f5ece5209498b5c6a64b","status":"recommended","critical":false}},"postgresql":{},"pgbackrest":{},"pgbackrestRepo":{},"pgbadger":{},"pgbouncer":{},"pxcOperator":{},"psmdbOperator":{},"pgOperatorApiserver":{},"pgOperatorEvent":{},"pgOperatorRmdata":{},"pgOperatorScheduler":{},"pgOperator":{},"pgOperatorDeployer":{},"psOperator":{},"mysql":{},"router":{},"orchestrator":{},"toolkit":{},"postgis":{},"binlogServer":{},"pgupgrade":{}}}]}' + IMAGE_BACKUP=percona/percona-backup-mongodb:2.15.0 + qualify_image_var IMAGE + local var=IMAGE + local val=perconalab/percona-server-mongodb-operator:1.23.0 + [[ -z perconalab/percona-server-mongodb-operator:1.23.0 ]] + [[ perconalab/percona-server-mongodb-operator:1.23.0 == * * ]] ++ with_registry perconalab/percona-server-mongodb-operator:1.23.0 ++ local ref=perconalab/percona-server-mongodb-operator:1.23.0 ++ case "$ref" in ++ printf %s%s docker.io/ perconalab/percona-server-mongodb-operator:1.23.0 + val=docker.io/perconalab/percona-server-mongodb-operator:1.23.0 + printf -v IMAGE %s docker.io/perconalab/percona-server-mongodb-operator:1.23.0 + qualify_image_var IMAGE_MONGOD + local var=IMAGE_MONGOD + local val=percona/percona-server-mongodb:8.0.26-11 + [[ -z percona/percona-server-mongodb:8.0.26-11 ]] + [[ percona/percona-server-mongodb:8.0.26-11 == * * ]] ++ with_registry percona/percona-server-mongodb:8.0.26-11 ++ local ref=percona/percona-server-mongodb:8.0.26-11 ++ case "$ref" in ++ printf %s%s docker.io/ percona/percona-server-mongodb:8.0.26-11 + val=docker.io/percona/percona-server-mongodb:8.0.26-11 + printf -v IMAGE_MONGOD %s docker.io/percona/percona-server-mongodb:8.0.26-11 + qualify_image_var IMAGE_PMM_CLIENT + local var=IMAGE_PMM_CLIENT + local $'val=percona/pmm-client:2.44.1-1\npercona/pmm-client:3.8.1' + [[ -z percona/pmm-client:2.44.1-1 percona/pmm-client:3.8.1 ]] + [[ percona/pmm-client:2.44.1-1 percona/pmm-client:3.8.1 == * * ]] + local out= ref + IFS= + read -r ref + [[ -n percona/pmm-client:2.44.1-1 ]] ++ with_registry percona/pmm-client:2.44.1-1 ++ local ref=percona/pmm-client:2.44.1-1 ++ case "$ref" in ++ printf %s%s docker.io/ percona/pmm-client:2.44.1-1 + out+=$'docker.io/percona/pmm-client:2.44.1-1\n' + IFS= + read -r ref + [[ -n percona/pmm-client:3.8.1 ]] ++ with_registry percona/pmm-client:3.8.1 ++ local ref=percona/pmm-client:3.8.1 ++ case "$ref" in ++ printf %s%s docker.io/ percona/pmm-client:3.8.1 + out+=$'docker.io/percona/pmm-client:3.8.1\n' + IFS= + read -r ref + val=$'docker.io/percona/pmm-client:2.44.1-1\ndocker.io/percona/pmm-client:3.8.1' + printf -v IMAGE_PMM_CLIENT %s $'docker.io/percona/pmm-client:2.44.1-1\ndocker.io/percona/pmm-client:3.8.1' + qualify_image_var IMAGE_BACKUP + local var=IMAGE_BACKUP + local val=percona/percona-backup-mongodb:2.15.0 + [[ -z percona/percona-backup-mongodb:2.15.0 ]] + [[ percona/percona-backup-mongodb:2.15.0 == * * ]] ++ with_registry percona/percona-backup-mongodb:2.15.0 ++ local ref=percona/percona-backup-mongodb:2.15.0 ++ case "$ref" in ++ printf %s%s docker.io/ percona/percona-backup-mongodb:2.15.0 + val=docker.io/percona/percona-backup-mongodb:2.15.0 + printf -v IMAGE_BACKUP %s docker.io/percona/percona-backup-mongodb:2.15.0 + [[ 1.24.0 == 1\.23\.0 ]] + main + rbac=rbac + '[' -n psmdb-operator ']' + rbac=cw-rbac + create_infra_gh upgrade-sharded-21453 v1.23.0 + local ns=upgrade-sharded-21453 + local git_tag=v1.23.0 + check_crd_for_deletion v1.23.0 + local git_tag=v1.23.0 ++ yq eval .metadata.name ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/crd.yaml ++ /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/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Z41PPO93yW +++ mktemp ++ local LAST_ERR=/tmp/tmp.PGb2GrQTg4 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/perconaservermongodbbackups.psmdb.percona.com' '-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/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Z41PPO93yW ++ cat /tmp/tmp.PGb2GrQTg4 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Z41PPO93yW ++ cat /tmp/tmp.PGb2GrQTg4 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.Z41PPO93yW ++ cat /tmp/tmp.PGb2GrQTg4 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" not found ++ sleep 8 ++ cat /tmp/tmp.Z41PPO93yW ++ cat /tmp/tmp.PGb2GrQTg4 Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" not found ++ rm /tmp/tmp.Z41PPO93yW /tmp/tmp.PGb2GrQTg4 ++ return 1 + [[ '' == Terminating ]] + 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/perconaservermongodbclustersyncs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8azwAfuWG5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CYsXH9JHON ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/perconaservermongodbclustersyncs.psmdb.percona.com' '-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/perconaservermongodbclustersyncs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8azwAfuWG5 ++ cat /tmp/tmp.CYsXH9JHON Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbclustersyncs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8azwAfuWG5 ++ cat /tmp/tmp.CYsXH9JHON Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbclustersyncs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.8azwAfuWG5 ++ cat /tmp/tmp.CYsXH9JHON Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" not found ++ sleep 8 ++ cat /tmp/tmp.8azwAfuWG5 ++ cat /tmp/tmp.CYsXH9JHON Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbclustersyncs.psmdb.percona.com" not found ++ rm /tmp/tmp.8azwAfuWG5 /tmp/tmp.CYsXH9JHON ++ return 1 + [[ '' == Terminating ]] + 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/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.y78IIhPJeG +++ mktemp ++ local LAST_ERR=/tmp/tmp.k0ZPXd1n2z ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/perconaservermongodbrestores.psmdb.percona.com' '-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/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.y78IIhPJeG ++ cat /tmp/tmp.k0ZPXd1n2z Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.y78IIhPJeG ++ cat /tmp/tmp.k0ZPXd1n2z Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbrestores.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.y78IIhPJeG ++ cat /tmp/tmp.k0ZPXd1n2z Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" not found ++ sleep 8 ++ cat /tmp/tmp.y78IIhPJeG ++ cat /tmp/tmp.k0ZPXd1n2z Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" not found ++ rm /tmp/tmp.y78IIhPJeG /tmp/tmp.k0ZPXd1n2z ++ return 1 + [[ '' == Terminating ]] + 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/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FBFlXBYWtO +++ mktemp ++ local LAST_ERR=/tmp/tmp.V8RuzsHx0d ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'crd/perconaservermongodbs.psmdb.percona.com' '-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/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.FBFlXBYWtO ++ cat /tmp/tmp.V8RuzsHx0d Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" not found ++ sleep 0 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.FBFlXBYWtO ++ cat /tmp/tmp.V8RuzsHx0d Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" not found ++ sleep 4 ++ for i in $(seq 0 2) ++ set +e ++ kubectl get crd/perconaservermongodbs.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.FBFlXBYWtO ++ cat /tmp/tmp.V8RuzsHx0d Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" not found ++ sleep 8 ++ cat /tmp/tmp.FBFlXBYWtO ++ cat /tmp/tmp.V8RuzsHx0d Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" not found ++ rm /tmp/tmp.FBFlXBYWtO /tmp/tmp.V8RuzsHx0d ++ 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 ++ 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 + : ++ 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 ++ awk '{print $1}' ++ grep chaos-mesh + 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}' ++ mktemp + [[ -n '' ]] + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + xargs kubectl delete ns ++ mktemp + local LAST_OUT=/tmp/tmp.ZVD5hmPgJy ++ mktemp + local LAST_OUT=/tmp/tmp.bQiEYsFL3J ++ mktemp + local LAST_ERR=/tmp/tmp.9l08Kq342h + 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 '' ]] + local LAST_ERR=/tmp/tmp.VoHLe1l1M5 + 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 + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 ++ 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.ZVD5hmPgJy + cat /tmp/tmp.9l08Kq342h + rm /tmp/tmp.ZVD5hmPgJy /tmp/tmp.9l08Kq342h + 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.bQiEYsFL3J + cat /tmp/tmp.VoHLe1l1M5 + rm /tmp/tmp.bQiEYsFL3J /tmp/tmp.VoHLe1l1M5 + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.c2gpThw3Rf ++ mktemp + local LAST_ERR=/tmp/tmp.OcRlemkp3P + 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.c2gpThw3Rf + cat /tmp/tmp.OcRlemkp3P + rm /tmp/tmp.c2gpThw3Rf /tmp/tmp.OcRlemkp3P + 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.QBCn7yvWmF ++ mktemp + local LAST_ERR=/tmp/tmp.BPU1cI23vm + 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.QBCn7yvWmF namespace/psmdb-operator created + cat /tmp/tmp.BPU1cI23vm + rm /tmp/tmp.QBCn7yvWmF /tmp/tmp.BPU1cI23vm + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.1y80pWRCWm +++ mktemp ++ local LAST_ERR=/tmp/tmp.I6kSxCHaY4 ++ 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.1y80pWRCWm ++ cat /tmp/tmp.I6kSxCHaY4 ++ rm /tmp/tmp.1y80pWRCWm /tmp/tmp.I6kSxCHaY4 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.sMMU0FqHj1 ++ mktemp + local LAST_ERR=/tmp/tmp.ueWN4Cf0wB + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4' '--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-cluster4 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sMMU0FqHj1 Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4" modified. + cat /tmp/tmp.ueWN4Cf0wB + rm /tmp/tmp.sMMU0FqHj1 /tmp/tmp.ueWN4Cf0wB + return 0 + deploy_operator_gh v1.23.0 + local git_tag=v1.23.0 + desc 'start operator' + set +o xtrace ----------------------------------------------------------------------------------- start operator ----------------------------------------------------------------------------------- + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/crd.yaml --server-side ++ mktemp + local LAST_OUT=/tmp/tmp.oA7NmkrYea ++ mktemp + local LAST_ERR=/tmp/tmp.jfFBNWIc6X + local exit_status=0 + local timeout=4 + args=('apply' '-f' 'https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/crd.yaml' '--server-side') + 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 https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/crd.yaml --server-side + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.oA7NmkrYea 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.jfFBNWIc6X + rm /tmp/tmp.oA7NmkrYea /tmp/tmp.jfFBNWIc6X + return 0 + local rbac_yaml=rbac + local operator_yaml=operator + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac + operator_yaml=cw-operator + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/cw-rbac.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.GeT55ZNACp ++ mktemp + local LAST_ERR=/tmp/tmp.bmetmjvgW5 + local exit_status=0 + local timeout=4 + args=('apply' '-f' 'https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/cw-rbac.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 -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/cw-rbac.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.GeT55ZNACp 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.bmetmjvgW5 + rm /tmp/tmp.GeT55ZNACp /tmp/tmp.bmetmjvgW5 + return 0 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/cw-operator.yaml + yq eval $'\n\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:1.23.0") |\n\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /tmp/tmp.ABhMySMEfH/cw-operator_v1.23.0.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + cat - + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.Wn5IEBvrKE ++ mktemp + local LAST_ERR=/tmp/tmp.HmQFPZTxx9 + 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.Wn5IEBvrKE deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.HmQFPZTxx9 + rm /tmp/tmp.Wn5IEBvrKE /tmp/tmp.HmQFPZTxx9 + return 0 + sleep 2 ++ 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.XANHtiyPzr +++ mktemp ++ local LAST_ERR=/tmp/tmp.z9s84rmSaf ++ 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.XANHtiyPzr ++ cat /tmp/tmp.z9s84rmSaf ++ rm /tmp/tmp.XANHtiyPzr /tmp/tmp.z9s84rmSaf ++ return 0 + wait_operator_pod percona-server-mongodb-operator-696d66db4-7v4kv + local pod=percona-server-mongodb-operator-696d66db4-7v4kv + set +o xtrace waiting for pod/percona-server-mongodb-operator-696d66db4-7v4kv 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.MHFjIK87cJ +++ mktemp ++ local LAST_ERR=/tmp/tmp.Y34IWHQ8jz ++ 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.MHFjIK87cJ ++ cat /tmp/tmp.Y34IWHQ8jz ++ rm /tmp/tmp.MHFjIK87cJ /tmp/tmp.Y34IWHQ8jz ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-696d66db4-7v4kv ++ mktemp + local LAST_OUT=/tmp/tmp.J9spBiI1YF ++ mktemp + local LAST_ERR=/tmp/tmp.P2kZOumag7 + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-696d66db4-7v4kv') + 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-696d66db4-7v4kv + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.J9spBiI1YF + cat /tmp/tmp.P2kZOumag7 + rm /tmp/tmp.J9spBiI1YF /tmp/tmp.P2kZOumag7 + return 0 2026-08-04T13:26:04.028Z INFO setup Manager starting up {"gitCommit": "a177d53a8f1a53d235b5094c0cbe20626ddb0066", "gitBranch": "release-1-23-0", "buildTime": "", "goVersion": "go1.26.5", "os": "linux", "arch": "amd64"} + create_namespace upgrade-sharded-21453 + local namespace=upgrade-sharded-21453 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' + [[ -n '' ]] + desc 'cleaned up old namespaces upgrade-sharded-21453' + xargs kubectl delete ns + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces upgrade-sharded-21453 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace upgrade-sharded-21453 --ignore-not-found ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.N4Xz2O8z10 ++ mktemp + local LAST_ERR=/tmp/tmp.icWdjyQFTe + 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_OUT=/tmp/tmp.5nrYkSxVGY + for i in $(seq 0 2) + set +e + kubectl get ns ++ mktemp + local LAST_ERR=/tmp/tmp.eUokQygCzn + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'upgrade-sharded-21453' '--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 namespace upgrade-sharded-21453 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.N4Xz2O8z10 + cat /tmp/tmp.icWdjyQFTe + rm /tmp/tmp.N4Xz2O8z10 /tmp/tmp.icWdjyQFTe + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5nrYkSxVGY + cat /tmp/tmp.eUokQygCzn error: resource(s) were provided, but no name was specified + rm /tmp/tmp.5nrYkSxVGY /tmp/tmp.eUokQygCzn + return 0 + kubectl_bin wait --for=delete namespace upgrade-sharded-21453 ++ mktemp + local LAST_OUT=/tmp/tmp.LBlc76OWX7 ++ mktemp + local LAST_ERR=/tmp/tmp.6oAj4N8sac + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'upgrade-sharded-21453') + 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 upgrade-sharded-21453 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LBlc76OWX7 + cat /tmp/tmp.6oAj4N8sac + rm /tmp/tmp.LBlc76OWX7 /tmp/tmp.6oAj4N8sac + return 0 + desc 'create namespace upgrade-sharded-21453' + set +o xtrace ----------------------------------------------------------------------------------- create namespace upgrade-sharded-21453 ----------------------------------------------------------------------------------- + kubectl_bin create namespace upgrade-sharded-21453 ++ mktemp + local LAST_OUT=/tmp/tmp.kuqMOlspb7 ++ mktemp + local LAST_ERR=/tmp/tmp.dRNs7mV8ox + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'upgrade-sharded-21453') + 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 upgrade-sharded-21453 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kuqMOlspb7 namespace/upgrade-sharded-21453 created + cat /tmp/tmp.dRNs7mV8ox + rm /tmp/tmp.kuqMOlspb7 /tmp/tmp.dRNs7mV8ox + return 0 + set_kube_ctx upgrade-sharded-21453 + local namespace=upgrade-sharded-21453 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.UiHKkePVBP +++ mktemp ++ local LAST_ERR=/tmp/tmp.w7eJ1UgnfY ++ 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.UiHKkePVBP ++ cat /tmp/tmp.w7eJ1UgnfY ++ rm /tmp/tmp.UiHKkePVBP /tmp/tmp.w7eJ1UgnfY ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4 --namespace=upgrade-sharded-21453 ++ mktemp + local LAST_OUT=/tmp/tmp.dpd7l75zHB ++ mktemp + local LAST_ERR=/tmp/tmp.5TOSmmAvxC + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4' '--namespace=upgrade-sharded-21453') + 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-cluster4 --namespace=upgrade-sharded-21453 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dpd7l75zHB Context "gke_cloud-dev-112233_us-central1-c_jen-psmdb-2491-6cfab0ed6-2-cluster4" modified. + cat /tmp/tmp.5TOSmmAvxC + rm /tmp/tmp.dpd7l75zHB /tmp/tmp.5TOSmmAvxC + 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.DgK2cVbp1O ++ mktemp + local LAST_ERR=/tmp/tmp.yPyr6AbV2M + 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.DgK2cVbp1O + cat /tmp/tmp.yPyr6AbV2M 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.DgK2cVbp1O + cat /tmp/tmp.yPyr6AbV2M 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.DgK2cVbp1O + cat /tmp/tmp.yPyr6AbV2M error: the server doesn't have a resource type "clusterissuer" + sleep 8 + cat /tmp/tmp.DgK2cVbp1O + cat /tmp/tmp.yPyr6AbV2M error: the server doesn't have a resource type "clusterissuer" + rm /tmp/tmp.DgK2cVbp1O /tmp/tmp.yPyr6AbV2M + return 1 + : + kubectl_bin -n cert-manager delete certificate --all ++ mktemp + local LAST_OUT=/tmp/tmp.kypZoum3Nr ++ mktemp + local LAST_ERR=/tmp/tmp.5BBniMOLb4 + 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.kypZoum3Nr + cat /tmp/tmp.5BBniMOLb4 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.kypZoum3Nr + cat /tmp/tmp.5BBniMOLb4 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.kypZoum3Nr + cat /tmp/tmp.5BBniMOLb4 error: the server doesn't have a resource type "certificate" + sleep 8 + cat /tmp/tmp.kypZoum3Nr + cat /tmp/tmp.5BBniMOLb4 error: the server doesn't have a resource type "certificate" + rm /tmp/tmp.kypZoum3Nr /tmp/tmp.5BBniMOLb4 + return 1 + : + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.AKtWiWdyoT ++ mktemp + local LAST_ERR=/tmp/tmp.9lrGbwd9I7 + 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.AKtWiWdyoT namespace/cert-manager created + cat /tmp/tmp.9lrGbwd9I7 + rm /tmp/tmp.AKtWiWdyoT /tmp/tmp.9lrGbwd9I7 + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.3ZwEUOQzpS ++ mktemp + local LAST_ERR=/tmp/tmp.YVSWKdn9dt + 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.3ZwEUOQzpS namespace/cert-manager labeled + cat /tmp/tmp.YVSWKdn9dt + rm /tmp/tmp.3ZwEUOQzpS /tmp/tmp.YVSWKdn9dt + return 0 + curl -sL https://github.com/cert-manager/cert-manager/releases/download/v1.21.0/cert-manager.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + cat - + kubectl_bin apply -f - --validate=false + 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.M5nrrDhNLi ++ mktemp + local LAST_ERR=/tmp/tmp.MdBYat70P3 + 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.M5nrrDhNLi pod/cert-manager-cainjector-54796c9fd9-rc8gx condition met pod/cert-manager-ff6db7bc5-qqjtj condition met pod/cert-manager-webhook-79bbcc47c6-qt9l2 condition met + cat /tmp/tmp.MdBYat70P3 E0804 13:27:13.425438 1487644 reflector.go:227] "Failed to watch" err="Get \"https://136.112.248.30/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-cainjector-54796c9fd9-rc8gx&resourceVersion=1785850033267439012&timeoutSeconds=575&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.M5nrrDhNLi /tmp/tmp.MdBYat70P3 + return 0 + sleep 120 + apply_s3_storage_secrets + desc 'create secrets for cloud storages' + set +o xtrace ----------------------------------------------------------------------------------- create secrets for cloud storages ----------------------------------------------------------------------------------- + '[' -z '' ']' + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.RGFHKzz0Yl ++ mktemp + local LAST_ERR=/tmp/tmp.vCsJxag04V + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/minio-secret.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/cloud-secret.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/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.RGFHKzz0Yl secret/minio-secret created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/oci-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.vCsJxag04V + rm /tmp/tmp.RGFHKzz0Yl /tmp/tmp.vCsJxag04V + return 0 + deploy_minio + local cert_secret= + local service_name=minio-service + desc 'install MinIO: minio-service' + set +o xtrace ----------------------------------------------------------------------------------- install MinIO: minio-service ----------------------------------------------------------------------------------- + helm uninstall minio-service + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + local endpoint=http://minio-service:9000 + minio_args=('--version' '5.4.0' '--set' 'replicas=1' '--set' 'mode=standalone' '--set' 'resources.requests.memory=256Mi' '--set' 'rootUser=rootuser' '--set' 'rootPassword=rootpass123' '--set' 'users[0].accessKey=some-access-key' '--set' 'users[0].secretKey=some-secret-key' '--set' 'users[0].policy=consoleAdmin' '--set' 'service.type=ClusterIP' '--set' 'configPathmc=/tmp/' '--set' 'securityContext.enabled=false' '--set' 'persistence.size=2G' '--set' 'fullnameOverride=minio-service' '--set' 'serviceAccount.create=true' '--set' 'serviceAccount.name=minio-service-sa') + local minio_args + arch_scheduling_enabled + [[ -n '' ]] + [[ -n '' ]] + retry 10 60 helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.4.0 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/ --set securityContext.enabled=false --set persistence.size=2G --set fullnameOverride=minio-service --set serviceAccount.create=true --set serviceAccount.name=minio-service-sa minio/minio NAME: minio-service LAST DEPLOYED: Tue Aug 4 13:29:28 2026 NAMESPACE: upgrade-sharded-21453 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.upgrade-sharded-21453.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace upgrade-sharded-21453 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace upgrade-sharded-21453 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace upgrade-sharded-21453 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace upgrade-sharded-21453 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aeRV60x1PQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.ru8gPmjJ7i ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '--selector=release=minio-service' '-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=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aeRV60x1PQ ++ cat /tmp/tmp.ru8gPmjJ7i ++ rm /tmp/tmp.aeRV60x1PQ /tmp/tmp.ru8gPmjJ7i ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-wsnzf + wait_pod minio-service-6d5f646cdc-wsnzf + local pod=minio-service-6d5f646cdc-wsnzf + set +o xtrace waiting for pod/minio-service-6d5f646cdc-wsnzf to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.upgrade-sharded-21453.svc.cluster.local --tcp=9000 service/minio-service created + create_minio_bucket operator-testing http://minio-service:9000 + local bucket=operator-testing + local endpoint=http://minio-service:9000 + aws_cli_minio http://minio-service:9000 s3 mb s3://operator-testing + local endpoint=http://minio-service:9000 + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing ++ mktemp + local LAST_OUT=/tmp/tmp.LHEEb1DP78 ++ mktemp + local LAST_ERR=/tmp/tmp.4UMC5kYcob + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'mb' 's3://operator-testing') + 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 run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.LHEEb1DP78 pod "aws-cli" deleted from upgrade-sharded-21453 namespace + cat /tmp/tmp.4UMC5kYcob All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.LHEEb1DP78 /tmp/tmp.4UMC5kYcob + return 0 + desc 'create secrets and start client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and start client ----------------------------------------------------------------------------------- + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/secrets.yaml + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml -f /tmp/tmp.ABhMySMEfH/secrets.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.K4udQSFl8o ++ mktemp + local LAST_ERR=/tmp/tmp.spvIPCoQO2 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml' '-f' '/tmp/tmp.ABhMySMEfH/secrets.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 -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/conf/client.yml -f /tmp/tmp.ABhMySMEfH/secrets.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.K4udQSFl8o deployment.apps/psmdb-client created secret/my-cluster-name-secrets created + cat /tmp/tmp.spvIPCoQO2 + rm /tmp/tmp.K4udQSFl8o /tmp/tmp.spvIPCoQO2 + return 0 + desc 'create first PSMDB cluster upgrade-sharded' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster upgrade-sharded ----------------------------------------------------------------------------------- + local cr_yaml=/tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + prepare_cr_yaml /tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + local cr_yaml=/tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.23.0/deploy/cr.yaml + yq eval $'\n\t\t\t.metadata.name = "upgrade-sharded" |\n\t\t\t.spec.upgradeOptions.apply = "disabled" |\n\t\t\t.spec.replsets[].size = 3 |\n\t\t\t.spec.replsets[].arbiter.enabled = false |\n\t\t\t.spec.backup.enabled = true |\n\t\t\t.spec.backup.tasks = [] |\n\t\t\t.spec.backup.pitr.enabled = false |\n\t\t\t.spec.backup.storages.minio.type = "s3" |\n\t\t\t.spec.backup.storages.minio.s3.credentialsSecret = "minio-secret" |\n\t\t\t.spec.backup.storages.minio.s3.region = "us-east-1" |\n\t\t\t.spec.backup.storages.minio.s3.bucket = "operator-testing" |\n\t\t\t.spec.backup.storages.minio.s3.endpointUrl = "http://minio-service:9000/" |\n\t\t\t.spec.backup.storages.minio.s3.insecureSkipTLSVerify = false |\n\t\t\t.spec.sharding.enabled = true |\n\t\t\t.spec.sharding.configsvrReplSet.size = 3 |\n\t\t\t.spec.sharding.mongos.size = 3 |\n\t\t\t.spec.image="" | .spec.image tag="!!null" |\n\t\t\t.spec.backup.image = "-backup" |\n\t\t\t.spec.pmm.image = "-pmm"' + apply_cluster /tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + '[' -z '' ']' + cat_config /tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + kubectl_bin apply -f - + cat /tmp/tmp.ABhMySMEfH/cr_v1.23.0.yaml + yq eval '(.spec | select(.image == null)).image = "docker.io/percona/percona-server-mongodb:8.0.26-11"' ++ mktemp + yq eval $'(.spec | select(has("pmm"))).pmm.image = "docker.io/percona/pmm-client:2.44.1-1\ndocker.io/percona/pmm-client:3.8.1"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + /usr/sbin/sed -e s/NAME_SPACE/upgrade-sharded-21453/g + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '.spec.upgradeOptions.apply="Never"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:1.23.0"' + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + add_arch_to_psmdb - + arch_scheduling_enabled + [[ -n '' ]] + cat - + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/percona/percona-backup-mongodb:2.15.0"' + yq eval '(.spec | select(has("search"))).search.image = "docker.io/perconalab/percona-server-mongodb-operator:main-mongot"' + local LAST_OUT=/tmp/tmp.LxONv250yB ++ mktemp + local LAST_ERR=/tmp/tmp.5JHRL3UUIA + 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.LxONv250yB perconaservermongodb.psmdb.percona.com/upgrade-sharded created + cat /tmp/tmp.5JHRL3UUIA + rm /tmp/tmp.LxONv250yB /tmp/tmp.5JHRL3UUIA + return 0 + desc 'check if all Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all Pods started ----------------------------------------------------------------------------------- + wait_for_running upgrade-sharded-rs0 3 false + local name=upgrade-sharded-rs0 + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-rs0-0 + local pod=upgrade-sharded-rs0-0 + set +o xtrace waiting for pod/upgrade-sharded-rs0-0 to be ready.............OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-rs0-1 + local pod=upgrade-sharded-rs0-1 + set +o xtrace waiting for pod/upgrade-sharded-rs0-1 to be ready..................OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zaxB3eAklK +++ mktemp ++ local LAST_ERR=/tmp/tmp.tqNuv6kqZc ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zaxB3eAklK ++ cat /tmp/tmp.tqNuv6kqZc ++ rm /tmp/tmp.zaxB3eAklK /tmp/tmp.tqNuv6kqZc ++ return 0 + [[ false == true ]] + wait_pod upgrade-sharded-rs0-2 + local pod=upgrade-sharded-rs0-2 + set +o xtrace waiting for pod/upgrade-sharded-rs0-2 to be ready........OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bMyQZKoD6a +++ mktemp ++ local LAST_ERR=/tmp/tmp.7omI359VpN ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bMyQZKoD6a ++ cat /tmp/tmp.7omI359VpN ++ rm /tmp/tmp.bMyQZKoD6a /tmp/tmp.7omI359VpN ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.fQzbK13mAn +++ mktemp ++ local LAST_ERR=/tmp/tmp.KEJMucOoFJ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.fQzbK13mAn ++ cat /tmp/tmp.KEJMucOoFJ ++ rm /tmp/tmp.fQzbK13mAn /tmp/tmp.KEJMucOoFJ ++ return 0 + [[ false == true ]] + sleep 10 + [[ false == true ]] + wait_for_running upgrade-sharded-cfg 3 false + local name=upgrade-sharded-cfg + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-cfg-0 + local pod=upgrade-sharded-cfg-0 + set +o xtrace waiting for pod/upgrade-sharded-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-cfg-1 + local pod=upgrade-sharded-cfg-1 + set +o xtrace waiting for pod/upgrade-sharded-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8cbBAaCd86 +++ mktemp ++ local LAST_ERR=/tmp/tmp.WxAm3D1WaD ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8cbBAaCd86 ++ cat /tmp/tmp.WxAm3D1WaD ++ rm /tmp/tmp.8cbBAaCd86 /tmp/tmp.WxAm3D1WaD ++ return 0 + [[ '' == true ]] + wait_pod upgrade-sharded-cfg-2 + local pod=upgrade-sharded-cfg-2 + set +o xtrace waiting for pod/upgrade-sharded-cfg-2 to be ready.OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9Metp9ujq3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.bhioUG8VDC ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9Metp9ujq3 ++ cat /tmp/tmp.bhioUG8VDC ++ rm /tmp/tmp.9Metp9ujq3 /tmp/tmp.bhioUG8VDC ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.A29fVuuHuS +++ mktemp ++ local LAST_ERR=/tmp/tmp.9Py7yetgPO ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.A29fVuuHuS ++ cat /tmp/tmp.9Py7yetgPO ++ rm /tmp/tmp.A29fVuuHuS /tmp/tmp.9Py7yetgPO ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hMOJYdZutT +++ mktemp ++ local LAST_ERR=/tmp/tmp.GEpPNpdnxr ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hMOJYdZutT ++ cat /tmp/tmp.GEpPNpdnxr ++ rm /tmp/tmp.hMOJYdZutT /tmp/tmp.GEpPNpdnxr ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.z5bHtTvNty +++ mktemp ++ local LAST_ERR=/tmp/tmp.3UO85kP0yJ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.z5bHtTvNty ++ cat /tmp/tmp.3UO85kP0yJ ++ rm /tmp/tmp.z5bHtTvNty /tmp/tmp.3UO85kP0yJ ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bSxtyoxY7c +++ mktemp ++ local LAST_ERR=/tmp/tmp.7RQSSdOx4m ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bSxtyoxY7c ++ cat /tmp/tmp.7RQSSdOx4m ++ rm /tmp/tmp.bSxtyoxY7c /tmp/tmp.7RQSSdOx4m ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4BtWrEk7wV +++ mktemp ++ local LAST_ERR=/tmp/tmp.i4luCrJCo6 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4BtWrEk7wV ++ cat /tmp/tmp.i4luCrJCo6 ++ rm /tmp/tmp.4BtWrEk7wV /tmp/tmp.i4luCrJCo6 ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.FDaUVVv9FI +++ mktemp ++ local LAST_ERR=/tmp/tmp.JEtPyVF4ZD ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.FDaUVVv9FI ++ cat /tmp/tmp.JEtPyVF4ZD ++ rm /tmp/tmp.FDaUVVv9FI /tmp/tmp.JEtPyVF4ZD ++ return 0 + [[ 3 == 3 ]] + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-21453 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8GAwLrj7po +++ mktemp ++ local LAST_ERR=/tmp/tmp.O2hQKMQ8K9 ++ 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.8GAwLrj7po ++ cat /tmp/tmp.O2hQKMQ8K9 ++ rm /tmp/tmp.8GAwLrj7po /tmp/tmp.O2hQKMQ8K9 ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Q9eNGL39JU ++ mktemp + local LAST_ERR=/tmp/tmp.orBpJCDcBS + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Q9eNGL39JU Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("eaa4a2fd-e998-46c2-a9ab-e4626c0a7e06") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.orBpJCDcBS + rm /tmp/tmp.Q9eNGL39JU /tmp/tmp.orBpJCDcBS + return 0 + desc 'write data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write data, read from all ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ awk -F: '{print $2}' ++ echo .svc.cluster.local + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.I0VNFI96o9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.P74IRdXNGs ++ 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.I0VNFI96o9 ++ cat /tmp/tmp.P74IRdXNGs ++ rm /tmp/tmp.I0VNFI96o9 /tmp/tmp.P74IRdXNGs ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.74f6TFWlRB ++ mktemp + local LAST_ERR=/tmp/tmp.5wJpqR6TNs + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.74f6TFWlRB Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("b88fd614-843f-44b2-9294-d5f58fab9ce3") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.5wJpqR6TNs + rm /tmp/tmp.74f6TFWlRB /tmp/tmp.5wJpqR6TNs + return 0 + compare_generation 1 statefulset upgrade-sharded-rs0 + local generation=1 + local resource=statefulset + local name=upgrade-sharded-rs0 + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.yRIlNoyFNk +++ mktemp ++ local LAST_ERR=/tmp/tmp.tSOSZwBtJc ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-rs0' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.yRIlNoyFNk ++ cat /tmp/tmp.tSOSZwBtJc ++ rm /tmp/tmp.yRIlNoyFNk /tmp/tmp.tSOSZwBtJc ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 statefulset upgrade-sharded-cfg + local generation=1 + local resource=statefulset + local name=upgrade-sharded-cfg + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kVzdWzuF9g +++ mktemp ++ local LAST_ERR=/tmp/tmp.neCAintoUi ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-cfg' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kVzdWzuF9g ++ cat /tmp/tmp.neCAintoUi ++ rm /tmp/tmp.kVzdWzuF9g /tmp/tmp.neCAintoUi ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 statefulset upgrade-sharded-mongos + local generation=1 + local resource=statefulset + local name=upgrade-sharded-mongos + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hDAcsaJ0Bz +++ mktemp ++ local LAST_ERR=/tmp/tmp.FTjITeTKQU ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-mongos' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.hDAcsaJ0Bz ++ cat /tmp/tmp.FTjITeTKQU ++ rm /tmp/tmp.hDAcsaJ0Bz /tmp/tmp.FTjITeTKQU ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 psmdb upgrade-sharded + local generation=1 + local resource=psmdb + local name=upgrade-sharded + local current_generation ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.EmkClTDheE +++ mktemp ++ local LAST_ERR=/tmp/tmp.cVLveO1RhE ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.metadata.generation}') ++ 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 upgrade-sharded -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.EmkClTDheE ++ cat /tmp/tmp.cVLveO1RhE ++ rm /tmp/tmp.EmkClTDheE /tmp/tmp.cVLveO1RhE ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + backup_name_minio=backup-minio + desc 'create backup backup-minio' + set +o xtrace ----------------------------------------------------------------------------------- create backup backup-minio ----------------------------------------------------------------------------------- + wait_backup_agent upgrade-sharded-rs0-0 + local agent_pod=upgrade-sharded-rs0-0 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-rs0-0...2026-08-04T13:32:33.000+0000 I listening for the commands + wait_backup_agent upgrade-sharded-rs0-1 + local agent_pod=upgrade-sharded-rs0-1 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-rs0-1...2026-08-04T13:32:36.000+0000 I listening for the commands + wait_backup_agent upgrade-sharded-rs0-2 + local agent_pod=upgrade-sharded-rs0-2 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-rs0-2...2026-08-04T13:32:38.000+0000 I listening for the commands + wait_backup_agent upgrade-sharded-cfg-0 + local agent_pod=upgrade-sharded-cfg-0 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-cfg-0...2026-08-04T13:32:04.000+0000 I listening for the commands + wait_backup_agent upgrade-sharded-cfg-1 + local agent_pod=upgrade-sharded-cfg-1 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-cfg-1...2026-08-04T13:32:02.000+0000 I listening for the commands + wait_backup_agent upgrade-sharded-cfg-2 + local agent_pod=upgrade-sharded-cfg-2 + set +o xtrace waiting for pbm-agent to be ready in upgrade-sharded-cfg-2...2026-08-04T13:32:08.000+0000 I listening for the commands + run_backup minio + local storage=minio + local backup_name=backup-minio + local type=logical + log 'running backup backup-minio' + set +o xtrace [2026-08-04T13:33:07+0000] running backup backup-minio + yq eval $'.metadata.name = "backup-minio"\n\t\t\t| .spec.storageName = "minio"\n\t\t\t| .spec.type = "logical"' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.uBLu4vOve5 ++ mktemp + local LAST_ERR=/tmp/tmp.G1ZYSXrI2g + 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 - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.uBLu4vOve5 perconaservermongodbbackup.psmdb.percona.com/backup-minio created + cat /tmp/tmp.G1ZYSXrI2g + rm /tmp/tmp.uBLu4vOve5 /tmp/tmp.G1ZYSXrI2g + return 0 + wait_backup backup-minio + local backup_name=backup-minio + local target_state=ready + set +o xtrace waiting for backup-minio to reach ready state.................OK + desc 'upgrade operator' + set +o xtrace ----------------------------------------------------------------------------------- upgrade operator ----------------------------------------------------------------------------------- + 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.YUekBOM25t ++ mktemp + local LAST_ERR=/tmp/tmp.IYtdlQAWpT + 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.YUekBOM25t 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.IYtdlQAWpT + rm /tmp/tmp.YUekBOM25t /tmp/tmp.IYtdlQAWpT + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml -n psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.m7z2mA6Jal ++ mktemp + local LAST_ERR=/tmp/tmp.g5UXR7MdTB + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml' '-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 apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/cw-rbac.yaml -n psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.m7z2mA6Jal clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator unchanged serviceaccount/percona-server-mongodb-operator unchanged clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.g5UXR7MdTB + rm /tmp/tmp.m7z2mA6Jal /tmp/tmp.g5UXR7MdTB + return 0 + desc 'use new image docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6' + set +o xtrace ----------------------------------------------------------------------------------- use new image docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ----------------------------------------------------------------------------------- + kubectl_bin patch deployment -n psmdb-operator percona-server-mongodb-operator '-p{"spec":{"template":{"spec":{"containers":[{"name":"percona-server-mongodb-operator","image":"docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"}]}}}}' ++ mktemp + local LAST_OUT=/tmp/tmp.ifO3d8sO5M ++ mktemp + local LAST_ERR=/tmp/tmp.KauPCTDqOg + local exit_status=0 + local timeout=4 + args=('patch' 'deployment' '-n' 'psmdb-operator' 'percona-server-mongodb-operator' '-p{"spec":{"template":{"spec":{"containers":[{"name":"percona-server-mongodb-operator","image":"docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"}]}}}}') + 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 -n psmdb-operator percona-server-mongodb-operator '-p{"spec":{"template":{"spec":{"containers":[{"name":"percona-server-mongodb-operator","image":"docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6"}]}}}}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ifO3d8sO5M deployment.apps/percona-server-mongodb-operator patched + cat /tmp/tmp.KauPCTDqOg + rm /tmp/tmp.ifO3d8sO5M /tmp/tmp.KauPCTDqOg + return 0 + kubectl_bin rollout status deployment/percona-server-mongodb-operator -n psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.8NMor0UAiV ++ mktemp + local LAST_ERR=/tmp/tmp.fKHXYNvFJz + local exit_status=0 + local timeout=4 + args=('rollout' 'status' 'deployment/percona-server-mongodb-operator' '-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 rollout status deployment/percona-server-mongodb-operator -n psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8NMor0UAiV Waiting for deployment "percona-server-mongodb-operator" rollout to finish: 1 old replicas are pending termination... Waiting for deployment "percona-server-mongodb-operator" rollout to finish: 1 old replicas are pending termination... deployment "percona-server-mongodb-operator" successfully rolled out + cat /tmp/tmp.fKHXYNvFJz + rm /tmp/tmp.8NMor0UAiV /tmp/tmp.fKHXYNvFJz + return 0 + desc 'wait for operator upgrade' + set +o xtrace ----------------------------------------------------------------------------------- wait for operator upgrade ----------------------------------------------------------------------------------- ++ kubectl_bin get pods -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[0].image' ++ grep -vc NAME ++ awk '{print $1}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.j6oNmW6txs +++ mktemp ++ local LAST_ERR=/tmp/tmp.iKBQJRItbr ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pods' '-n' 'psmdb-operator' '--selector=name=percona-server-mongodb-operator' '-o' 'custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[0].image') ++ 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 -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[0].image' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.j6oNmW6txs ++ cat /tmp/tmp.iKBQJRItbr ++ rm /tmp/tmp.j6oNmW6txs /tmp/tmp.iKBQJRItbr ++ return 0 + [[ 1 -eq 1 ]] + sleep 10 + desc 'check images and generation after operator upgrade' + set +o xtrace ----------------------------------------------------------------------------------- check images and generation after operator upgrade ----------------------------------------------------------------------------------- + wait_for_running upgrade-sharded-rs0 3 false + local name=upgrade-sharded-rs0 + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-rs0-0 + local pod=upgrade-sharded-rs0-0 + set +o xtrace waiting for pod/upgrade-sharded-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-rs0-1 + local pod=upgrade-sharded-rs0-1 + set +o xtrace waiting for pod/upgrade-sharded-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cVRmHR7tHd +++ mktemp ++ local LAST_ERR=/tmp/tmp.9p5pIfU6kA ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.cVRmHR7tHd ++ cat /tmp/tmp.9p5pIfU6kA ++ rm /tmp/tmp.cVRmHR7tHd /tmp/tmp.9p5pIfU6kA ++ return 0 + [[ false == true ]] + wait_pod upgrade-sharded-rs0-2 + local pod=upgrade-sharded-rs0-2 + set +o xtrace waiting for pod/upgrade-sharded-rs0-2 to be ready.OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JPeXkPqWKv +++ mktemp ++ local LAST_ERR=/tmp/tmp.nXll8GMQVW ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JPeXkPqWKv ++ cat /tmp/tmp.nXll8GMQVW ++ rm /tmp/tmp.JPeXkPqWKv /tmp/tmp.nXll8GMQVW ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Tmz4hjF0dn +++ mktemp ++ local LAST_ERR=/tmp/tmp.30MhJrrjVv ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Tmz4hjF0dn ++ cat /tmp/tmp.30MhJrrjVv ++ rm /tmp/tmp.Tmz4hjF0dn /tmp/tmp.30MhJrrjVv ++ return 0 + [[ false == true ]] + sleep 10 + [[ false == true ]] + wait_for_running upgrade-sharded-cfg 3 false + local name=upgrade-sharded-cfg + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-cfg-0 + local pod=upgrade-sharded-cfg-0 + set +o xtrace waiting for pod/upgrade-sharded-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-cfg-1 + local pod=upgrade-sharded-cfg-1 + set +o xtrace waiting for pod/upgrade-sharded-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nEbZPWWlJd +++ mktemp ++ local LAST_ERR=/tmp/tmp.SntSNvU24d ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.nEbZPWWlJd ++ cat /tmp/tmp.SntSNvU24d ++ rm /tmp/tmp.nEbZPWWlJd /tmp/tmp.SntSNvU24d ++ return 0 + [[ '' == true ]] + wait_pod upgrade-sharded-cfg-2 + local pod=upgrade-sharded-cfg-2 + set +o xtrace waiting for pod/upgrade-sharded-cfg-2 to be ready.OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.298A2yU1XE +++ mktemp ++ local LAST_ERR=/tmp/tmp.NnKlRxkLMs ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.298A2yU1XE ++ cat /tmp/tmp.NnKlRxkLMs ++ rm /tmp/tmp.298A2yU1XE /tmp/tmp.NnKlRxkLMs ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kB14rAFQhc +++ mktemp ++ local LAST_ERR=/tmp/tmp.1k5CjTih5m ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kB14rAFQhc ++ cat /tmp/tmp.1k5CjTih5m ++ rm /tmp/tmp.kB14rAFQhc /tmp/tmp.1k5CjTih5m ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.nt6RCSIrIF +++ mktemp ++ local LAST_ERR=/tmp/tmp.rRRMWzvVEE ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.nt6RCSIrIF ++ cat /tmp/tmp.rRRMWzvVEE ++ rm /tmp/tmp.nt6RCSIrIF /tmp/tmp.rRRMWzvVEE ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.R9XfNxAJBh +++ mktemp ++ local LAST_ERR=/tmp/tmp.4D1wrGh822 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.R9XfNxAJBh ++ cat /tmp/tmp.4D1wrGh822 ++ rm /tmp/tmp.R9XfNxAJBh /tmp/tmp.4D1wrGh822 ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qtb0e5nnKo +++ mktemp ++ local LAST_ERR=/tmp/tmp.iyYoLEGxV9 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qtb0e5nnKo ++ cat /tmp/tmp.iyYoLEGxV9 ++ rm /tmp/tmp.qtb0e5nnKo /tmp/tmp.iyYoLEGxV9 ++ return 0 + [[ 3 == 3 ]] + check_applied_images operator + local updated_image=operator + case "${updated_image}" in ++ kubectl_bin get pod -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.i8v4y5p61X +++ mktemp ++ local LAST_ERR=/tmp/tmp.5GoM9yK9Tx ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pod' '-n' 'psmdb-operator' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}') ++ 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 pod -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.i8v4y5p61X ++ cat /tmp/tmp.5GoM9yK9Tx ++ rm /tmp/tmp.i8v4y5p61X /tmp/tmp.5GoM9yK9Tx ++ return 0 + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 == docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.backup.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.lGNyNV86Jo +++ mktemp ++ local LAST_ERR=/tmp/tmp.KgpihcQvie ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.backup.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.backup.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.lGNyNV86Jo ++ cat /tmp/tmp.KgpihcQvie ++ rm /tmp/tmp.lGNyNV86Jo /tmp/tmp.KgpihcQvie ++ return 0 + [[ docker.io/percona/percona-backup-mongodb:2.15.0 == docker.io/percona/percona-backup-mongodb:2.15.0 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.pmm.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.SfCC2HPw1d +++ mktemp ++ local LAST_ERR=/tmp/tmp.gVYRhYzpqH ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.pmm.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.pmm.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.SfCC2HPw1d ++ cat /tmp/tmp.gVYRhYzpqH ++ rm /tmp/tmp.SfCC2HPw1d /tmp/tmp.gVYRhYzpqH ++ return 0 + [[ docker.io/percona/pmm-client:2.44.1-1 docker.io/percona/pmm-client:3.8.1 == docker.io/percona/pmm-client:2.44.1-1 docker.io/percona/pmm-client:3.8.1 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mUIJp8XHhE +++ mktemp ++ local LAST_ERR=/tmp/tmp.SYGsF5OJZm ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mUIJp8XHhE ++ cat /tmp/tmp.SYGsF5OJZm ++ rm /tmp/tmp.mUIJp8XHhE /tmp/tmp.SYGsF5OJZm ++ return 0 + [[ docker.io/percona/percona-server-mongodb:8.0.26-11 == docker.io/percona/percona-server-mongodb:8.0.26-11 ]] + : Operator image has been updated correctly + compare_generation 1 statefulset upgrade-sharded-rs0 + local generation=1 + local resource=statefulset + local name=upgrade-sharded-rs0 + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dOF7d3d9fZ +++ mktemp ++ local LAST_ERR=/tmp/tmp.qEZWst6Xz9 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-rs0' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dOF7d3d9fZ ++ cat /tmp/tmp.qEZWst6Xz9 ++ rm /tmp/tmp.dOF7d3d9fZ /tmp/tmp.qEZWst6Xz9 ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 statefulset upgrade-sharded-cfg + local generation=1 + local resource=statefulset + local name=upgrade-sharded-cfg + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JQv0Dzi5ML +++ mktemp ++ local LAST_ERR=/tmp/tmp.pa9J90apYd ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-cfg' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.JQv0Dzi5ML ++ cat /tmp/tmp.pa9J90apYd ++ rm /tmp/tmp.JQv0Dzi5ML /tmp/tmp.pa9J90apYd ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 statefulset upgrade-sharded-mongos + local generation=1 + local resource=statefulset + local name=upgrade-sharded-mongos + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pg9XwjZnZe +++ mktemp ++ local LAST_ERR=/tmp/tmp.9jYrKFS9ym ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-mongos' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pg9XwjZnZe ++ cat /tmp/tmp.9jYrKFS9ym ++ rm /tmp/tmp.pg9XwjZnZe /tmp/tmp.9jYrKFS9ym ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + compare_generation 1 psmdb upgrade-sharded + local generation=1 + local resource=psmdb + local name=upgrade-sharded + local current_generation ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Pc3dazefjM +++ mktemp ++ local LAST_ERR=/tmp/tmp.3dM0y3t87a ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.metadata.generation}') ++ 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 upgrade-sharded -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Pc3dazefjM ++ cat /tmp/tmp.3dM0y3t87a ++ rm /tmp/tmp.Pc3dazefjM /tmp/tmp.3dM0y3t87a ++ return 0 + current_generation=1 + [[ 1 != 1 ]] + desc 'patch psmdb images and upgrade' + set +o xtrace ----------------------------------------------------------------------------------- patch psmdb images and upgrade ----------------------------------------------------------------------------------- + kubectl_bin patch psmdb upgrade-sharded --type=merge --patch $'{\n "spec": {\n "crVersion": "1.24.0",\n "image": "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0",\n "pmm": { "image": "docker.io/percona/pmm-client:2.44.1-1" },\n "backup": { "image": "docker.io/perconalab/percona-server-mongodb-operator:main-backup" }\n }}' ++ mktemp + local LAST_OUT=/tmp/tmp.vdO5C75Qur ++ mktemp + local LAST_ERR=/tmp/tmp.ttNDko5HIJ + local exit_status=0 + local timeout=4 + args=('patch' 'psmdb' 'upgrade-sharded' '--type=merge' '--patch' '{ "spec": { "crVersion": "1.24.0", "image": "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0", "pmm": { "image": "docker.io/percona/pmm-client:2.44.1-1" }, "backup": { "image": "docker.io/perconalab/percona-server-mongodb-operator:main-backup" } }}') + 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 upgrade-sharded --type=merge --patch $'{\n "spec": {\n "crVersion": "1.24.0",\n "image": "docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0",\n "pmm": { "image": "docker.io/percona/pmm-client:2.44.1-1" },\n "backup": { "image": "docker.io/perconalab/percona-server-mongodb-operator:main-backup" }\n }}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vdO5C75Qur perconaservermongodb.psmdb.percona.com/upgrade-sharded patched + cat /tmp/tmp.ttNDko5HIJ + rm /tmp/tmp.vdO5C75Qur /tmp/tmp.ttNDko5HIJ + return 0 + sleep 10 + desc 'check cluster after full upgrade' + set +o xtrace ----------------------------------------------------------------------------------- check cluster after full upgrade ----------------------------------------------------------------------------------- + wait_for_running upgrade-sharded-rs0 3 false + local name=upgrade-sharded-rs0 + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-rs0-0 + local pod=upgrade-sharded-rs0-0 + set +o xtrace waiting for pod/upgrade-sharded-rs0-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-rs0-1 + local pod=upgrade-sharded-rs0-1 + set +o xtrace waiting for pod/upgrade-sharded-rs0-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pVAmAhis4V +++ mktemp ++ local LAST_ERR=/tmp/tmp.6NCXaTE4Z2 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.pVAmAhis4V ++ cat /tmp/tmp.6NCXaTE4Z2 ++ rm /tmp/tmp.pVAmAhis4V /tmp/tmp.6NCXaTE4Z2 ++ return 0 + [[ false == true ]] + wait_pod upgrade-sharded-rs0-2 + local pod=upgrade-sharded-rs0-2 + set +o xtrace waiting for pod/upgrade-sharded-rs0-2 to be ready.OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.q5zRcxpIKS +++ mktemp ++ local LAST_ERR=/tmp/tmp.LX0ZHdEedp ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.q5zRcxpIKS ++ cat /tmp/tmp.LX0ZHdEedp ++ rm /tmp/tmp.q5zRcxpIKS /tmp/tmp.LX0ZHdEedp ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jlDhKC6ztz +++ mktemp ++ local LAST_ERR=/tmp/tmp.DrymElK285 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jlDhKC6ztz ++ cat /tmp/tmp.DrymElK285 ++ rm /tmp/tmp.jlDhKC6ztz /tmp/tmp.DrymElK285 ++ return 0 + [[ false == true ]] + sleep 10 + [[ false == true ]] + wait_for_running upgrade-sharded-cfg 3 false + local name=upgrade-sharded-cfg + let last_pod=2 + local check_cluster_readiness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=upgrade-sharded ++ seq 0 2 + for i in $(seq 0 $last_pod) + [[ 0 -eq 2 ]] + wait_pod upgrade-sharded-cfg-0 + local pod=upgrade-sharded-cfg-0 + set +o xtrace waiting for pod/upgrade-sharded-cfg-0 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 1 -eq 2 ]] + wait_pod upgrade-sharded-cfg-1 + local pod=upgrade-sharded-cfg-1 + set +o xtrace waiting for pod/upgrade-sharded-cfg-1 to be ready.OK + for i in $(seq 0 $last_pod) + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.cJRWiMWJaT +++ mktemp ++ local LAST_ERR=/tmp/tmp.WB1PTXrgZs ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.cJRWiMWJaT ++ cat /tmp/tmp.WB1PTXrgZs ++ rm /tmp/tmp.cJRWiMWJaT /tmp/tmp.WB1PTXrgZs ++ return 0 + [[ '' == true ]] + wait_pod upgrade-sharded-cfg-2 + local pod=upgrade-sharded-cfg-2 + set +o xtrace waiting for pod/upgrade-sharded-cfg-2 to be ready.OK ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.g3xncRyf8Y +++ mktemp ++ local LAST_ERR=/tmp/tmp.Rtpyx3GU0j ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].nonvoting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.g3xncRyf8Y ++ cat /tmp/tmp.Rtpyx3GU0j ++ rm /tmp/tmp.g3xncRyf8Y /tmp/tmp.Rtpyx3GU0j ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Rr09apm0V9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.wtdSv4r2CO ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.replsets[?(@.name=="cfg")].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 upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Rr09apm0V9 ++ cat /tmp/tmp.wtdSv4r2CO ++ rm /tmp/tmp.Rr09apm0V9 /tmp/tmp.wtdSv4r2CO ++ return 0 + [[ '' == true ]] + sleep 10 + [[ false == true ]] + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.2fs2FcpoPD +++ mktemp ++ local LAST_ERR=/tmp/tmp.zmfLvGKyJM ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2fs2FcpoPD ++ cat /tmp/tmp.zmfLvGKyJM ++ rm /tmp/tmp.2fs2FcpoPD /tmp/tmp.zmfLvGKyJM ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.4hJT6ur6dh +++ mktemp ++ local LAST_ERR=/tmp/tmp.uFjolwElVq ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.4hJT6ur6dh ++ cat /tmp/tmp.uFjolwElVq ++ rm /tmp/tmp.4hJT6ur6dh /tmp/tmp.uFjolwElVq ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Zw7UwN2WjR +++ mktemp ++ local LAST_ERR=/tmp/tmp.XbDm7AptTT ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Zw7UwN2WjR ++ cat /tmp/tmp.XbDm7AptTT ++ rm /tmp/tmp.Zw7UwN2WjR /tmp/tmp.XbDm7AptTT ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 3 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.O3fY343wIB +++ mktemp ++ local LAST_ERR=/tmp/tmp.yFxWYDndNd ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.O3fY343wIB ++ cat /tmp/tmp.yFxWYDndNd ++ rm /tmp/tmp.O3fY343wIB /tmp/tmp.yFxWYDndNd ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 4 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.E2lTnq0y2e +++ mktemp ++ local LAST_ERR=/tmp/tmp.x070nNuRSD ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.E2lTnq0y2e ++ cat /tmp/tmp.x070nNuRSD ++ rm /tmp/tmp.E2lTnq0y2e /tmp/tmp.x070nNuRSD ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 5 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.W0DqAwXD29 +++ mktemp ++ local LAST_ERR=/tmp/tmp.EYRhmYqBBv ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.W0DqAwXD29 ++ cat /tmp/tmp.EYRhmYqBBv ++ rm /tmp/tmp.W0DqAwXD29 /tmp/tmp.EYRhmYqBBv ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 6 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.aObaLxOxHU +++ mktemp ++ local LAST_ERR=/tmp/tmp.DP1JUNTjwm ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.aObaLxOxHU ++ cat /tmp/tmp.DP1JUNTjwm ++ rm /tmp/tmp.aObaLxOxHU /tmp/tmp.DP1JUNTjwm ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 7 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.8s1CGghm6y +++ mktemp ++ local LAST_ERR=/tmp/tmp.9rvSzMDJea ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.8s1CGghm6y ++ cat /tmp/tmp.9rvSzMDJea ++ rm /tmp/tmp.8s1CGghm6y /tmp/tmp.9rvSzMDJea ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 8 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bqENRmPZq5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.m3JK7Q9g3g ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bqENRmPZq5 ++ cat /tmp/tmp.m3JK7Q9g3g ++ rm /tmp/tmp.bqENRmPZq5 /tmp/tmp.m3JK7Q9g3g ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 9 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5unP6Fdeeg +++ mktemp ++ local LAST_ERR=/tmp/tmp.lLnUEs3g7O ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5unP6Fdeeg ++ cat /tmp/tmp.lLnUEs3g7O ++ rm /tmp/tmp.5unP6Fdeeg /tmp/tmp.lLnUEs3g7O ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 10 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.XfAFH03Kzc +++ mktemp ++ local LAST_ERR=/tmp/tmp.q399qLUQ7z ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.XfAFH03Kzc ++ cat /tmp/tmp.q399qLUQ7z ++ rm /tmp/tmp.XfAFH03Kzc /tmp/tmp.q399qLUQ7z ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 11 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.U8e3IakvDy +++ mktemp ++ local LAST_ERR=/tmp/tmp.fRoA5ngKzP ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.U8e3IakvDy ++ cat /tmp/tmp.fRoA5ngKzP ++ rm /tmp/tmp.U8e3IakvDy /tmp/tmp.fRoA5ngKzP ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 12 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Lbxjco4JTP +++ mktemp ++ local LAST_ERR=/tmp/tmp.mEbnYSx7fI ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Lbxjco4JTP ++ cat /tmp/tmp.mEbnYSx7fI ++ rm /tmp/tmp.Lbxjco4JTP /tmp/tmp.mEbnYSx7fI ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.2VBKjm47QQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.RIaim9VokT ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.2VBKjm47QQ ++ cat /tmp/tmp.RIaim9VokT ++ rm /tmp/tmp.2VBKjm47QQ /tmp/tmp.RIaim9VokT ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.LDsvhjcJ2Z +++ mktemp ++ local LAST_ERR=/tmp/tmp.qnoj3iH6dQ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.LDsvhjcJ2Z ++ cat /tmp/tmp.qnoj3iH6dQ ++ rm /tmp/tmp.LDsvhjcJ2Z /tmp/tmp.qnoj3iH6dQ ++ return 0 + [[ 3 == 3 ]] + simple_data_check upgrade-sharded 3 1 -mongos + local cluster_name=upgrade-sharded + let last_pod=3-1 + local isSharded=1 + local cluster_pfx=-mongos + '[' 1 -eq 1 ']' + sleep 10 + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ryIlsoT8v8 +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ke7N4ztqYf ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ryIlsoT8v8 ++ cat /tmp/tmp.Ke7N4ztqYf ++ rm /tmp/tmp.ryIlsoT8v8 /tmp/tmp.Ke7N4ztqYf ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qlyvbb11TF +++ mktemp ++ local LAST_ERR=/tmp/tmp.1SAJmhG8AO ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qlyvbb11TF ++ cat /tmp/tmp.1SAJmhG8AO ++ rm /tmp/tmp.qlyvbb11TF /tmp/tmp.1SAJmhG8AO ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.i98wzEF43I +++ mktemp ++ local LAST_ERR=/tmp/tmp.DA86VHoVM5 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.i98wzEF43I ++ cat /tmp/tmp.DA86VHoVM5 ++ rm /tmp/tmp.i98wzEF43I /tmp/tmp.DA86VHoVM5 ++ return 0 + [[ 3 == 3 ]] + compare_mongos_cmd find myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local command=find + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T13:40:01+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + 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:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.IUbTkqUmCu +++ mktemp ++ local LAST_ERR=/tmp/tmp.kiKfKXo4do ++ 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.IUbTkqUmCu ++ cat /tmp/tmp.kiKfKXo4do ++ rm /tmp/tmp.IUbTkqUmCu /tmp/tmp.kiKfKXo4do ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.M2Vw8cpYLn ++ mktemp + local LAST_ERR=/tmp/tmp.SxBv2RayKZ + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.M2Vw8cpYLn + cat /tmp/tmp.SxBv2RayKZ + rm /tmp/tmp.M2Vw8cpYLn /tmp/tmp.SxBv2RayKZ + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/compare/find.json /tmp/tmp.ABhMySMEfH/find + return + check_applied_images all + local updated_image=all + case "${updated_image}" in ++ kubectl_bin get pod -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6m9b13fEQ9 +++ mktemp ++ local LAST_ERR=/tmp/tmp.vFpW8oBB4F ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pod' '-n' 'psmdb-operator' '--selector=name=percona-server-mongodb-operator' '-o' 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}') ++ 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 pod -n psmdb-operator --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[*].spec.containers[?(@.name == "percona-server-mongodb-operator")].image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6m9b13fEQ9 ++ cat /tmp/tmp.vFpW8oBB4F ++ rm /tmp/tmp.6m9b13fEQ9 /tmp/tmp.vFpW8oBB4F ++ return 0 + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 == docker.io/perconalab/percona-server-mongodb-operator:PR-2491-6cfab0ed6 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.backup.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.dKmcX7zrQq +++ mktemp ++ local LAST_ERR=/tmp/tmp.1czArwd5wE ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.backup.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.backup.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.dKmcX7zrQq ++ cat /tmp/tmp.1czArwd5wE ++ rm /tmp/tmp.dKmcX7zrQq /tmp/tmp.1czArwd5wE ++ return 0 + [[ docker.io/perconalab/percona-server-mongodb-operator:main-backup == docker.io/perconalab/percona-server-mongodb-operator:main-backup ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.pmm.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.9WlONgEMBl +++ mktemp ++ local LAST_ERR=/tmp/tmp.ceH8G3fMWK ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.pmm.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.pmm.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.9WlONgEMBl ++ cat /tmp/tmp.ceH8G3fMWK ++ rm /tmp/tmp.9WlONgEMBl /tmp/tmp.ceH8G3fMWK ++ return 0 + [[ docker.io/percona/pmm-client:2.44.1-1 == docker.io/percona/pmm-client:2.44.1-1 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.UD7VZOiVBz +++ mktemp ++ local LAST_ERR=/tmp/tmp.9uYnwLsj4j ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.spec.image}') ++ 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 upgrade-sharded -o 'jsonpath={.spec.image}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.UD7VZOiVBz ++ cat /tmp/tmp.9uYnwLsj4j ++ rm /tmp/tmp.UD7VZOiVBz /tmp/tmp.9uYnwLsj4j ++ return 0 + [[ docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 == docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 ]] + : Cluster images have been updated correctly + compare_generation 2 statefulset upgrade-sharded-rs0 + local generation=2 + local resource=statefulset + local name=upgrade-sharded-rs0 + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BWOtU0YFqR +++ mktemp ++ local LAST_ERR=/tmp/tmp.2eViw5NgLZ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-rs0' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-rs0 -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BWOtU0YFqR ++ cat /tmp/tmp.2eViw5NgLZ ++ rm /tmp/tmp.BWOtU0YFqR /tmp/tmp.2eViw5NgLZ ++ return 0 + current_generation=2 + [[ 2 != 2 ]] + compare_generation 2 statefulset upgrade-sharded-cfg + local generation=2 + local resource=statefulset + local name=upgrade-sharded-cfg + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.99bjb4oWLx +++ mktemp ++ local LAST_ERR=/tmp/tmp.mWg0fiw3xN ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-cfg' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-cfg -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.99bjb4oWLx ++ cat /tmp/tmp.mWg0fiw3xN ++ rm /tmp/tmp.99bjb4oWLx /tmp/tmp.mWg0fiw3xN ++ return 0 + current_generation=2 + [[ 2 != 2 ]] + compare_generation 2 statefulset upgrade-sharded-mongos + local generation=2 + local resource=statefulset + local name=upgrade-sharded-mongos + local current_generation ++ kubectl_bin get statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.tq5OvhwaFF +++ mktemp ++ local LAST_ERR=/tmp/tmp.aOT2b2AKEv ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'statefulset' 'upgrade-sharded-mongos' '-o' 'jsonpath={.metadata.generation}') ++ 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 statefulset upgrade-sharded-mongos -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.tq5OvhwaFF ++ cat /tmp/tmp.aOT2b2AKEv ++ rm /tmp/tmp.tq5OvhwaFF /tmp/tmp.aOT2b2AKEv ++ return 0 + current_generation=2 + [[ 2 != 2 ]] + compare_generation 2 psmdb upgrade-sharded + local generation=2 + local resource=psmdb + local name=upgrade-sharded + local current_generation ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.metadata.generation}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.zXieB2356C +++ mktemp ++ local LAST_ERR=/tmp/tmp.PyYzsxFuh8 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.metadata.generation}') ++ 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 upgrade-sharded -o 'jsonpath={.metadata.generation}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.zXieB2356C ++ cat /tmp/tmp.PyYzsxFuh8 ++ rm /tmp/tmp.zXieB2356C /tmp/tmp.PyYzsxFuh8 ++ return 0 + current_generation=2 + [[ 2 != 2 ]] + desc 'check if upgrade order is cfg, rs0, mongos' + set +o xtrace ----------------------------------------------------------------------------------- check if upgrade order is cfg, rs0, mongos ----------------------------------------------------------------------------------- + sleep 60 + check_upgrade_order cfg 3 1 + local pod_type=cfg + local cluster_size=3 + local upgrade_order=1 + local start=1 + local end=3 ++ kubectl_bin get pod --sort-by=.status.startTime ++ grep -vE '^NAME|client|operator|minio-service' ++ sed -n 1,3p ++ grep -c '\-cfg\-' +++ mktemp ++ local LAST_OUT=/tmp/tmp.VvBC1ETWnP grep: warning: stray \ before - +++ mktemp ++ local LAST_ERR=/tmp/tmp.kGEL9XZBEn ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pod' '--sort-by=.status.startTime') ++ 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 pod --sort-by=.status.startTime ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.VvBC1ETWnP ++ cat /tmp/tmp.kGEL9XZBEn ++ rm /tmp/tmp.VvBC1ETWnP /tmp/tmp.kGEL9XZBEn ++ return 0 + local nr=3 + [[ 3 -ne 3 ]] + echo 'cfg was upgraded 1!' cfg was upgraded 1! + check_upgrade_order rs0 3 2 + local pod_type=rs0 + local cluster_size=3 + local upgrade_order=2 + local start=4 + local end=6 ++ kubectl_bin get pod --sort-by=.status.startTime ++ grep -vE '^NAME|client|operator|minio-service' ++ sed -n 4,6p ++ grep -c '\-rs0\-' +++ mktemp grep: warning: stray \ before - ++ local LAST_OUT=/tmp/tmp.qHm71ybG21 +++ mktemp ++ local LAST_ERR=/tmp/tmp.jLgD9jSfJe ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pod' '--sort-by=.status.startTime') ++ 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 pod --sort-by=.status.startTime ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.qHm71ybG21 ++ cat /tmp/tmp.jLgD9jSfJe ++ rm /tmp/tmp.qHm71ybG21 /tmp/tmp.jLgD9jSfJe ++ return 0 + local nr=3 + [[ 3 -ne 3 ]] + echo 'rs0 was upgraded 2!' rs0 was upgraded 2! + check_upgrade_order mongos 3 3 + local pod_type=mongos + local cluster_size=3 + local upgrade_order=3 + local start=7 + local end=9 ++ kubectl_bin get pod --sort-by=.status.startTime ++ grep -vE '^NAME|client|operator|minio-service' ++ sed -n 7,9p ++ grep -c '\-mongos\-' +++ mktemp grep: warning: stray \ before - ++ local LAST_OUT=/tmp/tmp.KzggCqR4PI +++ mktemp ++ local LAST_ERR=/tmp/tmp.mjkdgiqDvj ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'pod' '--sort-by=.status.startTime') ++ 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 pod --sort-by=.status.startTime ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.KzggCqR4PI ++ cat /tmp/tmp.mjkdgiqDvj ++ rm /tmp/tmp.KzggCqR4PI /tmp/tmp.mjkdgiqDvj ++ return 0 + local nr=3 + [[ 3 -ne 3 ]] + echo 'mongos was upgraded 3!' mongos was upgraded 3! + desc 'drop collection and do restore with new version' + set +o xtrace ----------------------------------------------------------------------------------- drop collection and do restore with new version ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.drop()' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local 'command=use myApp\n db.test.drop()' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.O9cis6vuVU +++ mktemp ++ local LAST_ERR=/tmp/tmp.N7zdzlSLvu ++ 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.O9cis6vuVU ++ cat /tmp/tmp.N7zdzlSLvu ++ rm /tmp/tmp.O9cis6vuVU /tmp/tmp.N7zdzlSLvu ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.HBpYAAj6oJ ++ mktemp + local LAST_ERR=/tmp/tmp.PuE1tpZ9tY + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.drop()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HBpYAAj6oJ Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1fc121a7-4983-478c-9469-2915ff100031") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp true bye + cat /tmp/tmp.PuE1tpZ9tY + rm /tmp/tmp.HBpYAAj6oJ /tmp/tmp.PuE1tpZ9tY + return 0 + check_backup_in_storage backup-minio minio rs0 myApp.test.gz + local backup=backup-minio + local storage_type=minio + local replset=rs0 + local file=myApp.test.gz + local protocol=http + local endpoint ++ get_backup_dest backup-minio ++ local backup_name=backup-minio ++ /usr/sbin/sed 's|https://engk8soperators.blob.core.windows.net/||' ++ kubectl_bin get psmdb-backup backup-minio -o 'jsonpath={.status.destination}' ++ sed -e 's/.json$//' ++ sed 's|s3://||' +++ mktemp ++ sed 's|azure://||' ++ sed 's|gs://||' ++ sed 's|oss://||' ++ sed 's|oci://||' ++ local LAST_OUT=/tmp/tmp.vNazby0Fge +++ mktemp ++ local LAST_ERR=/tmp/tmp.zHlhqbIJYf ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb-backup' 'backup-minio' '-o' 'jsonpath={.status.destination}') ++ 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 backup-minio -o 'jsonpath={.status.destination}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.vNazby0Fge ++ cat /tmp/tmp.zHlhqbIJYf ++ rm /tmp/tmp.vNazby0Fge /tmp/tmp.zHlhqbIJYf ++ return 0 + backup_dest=operator-testing/2026-08-04T13:33:09Z + case ${storage_type} in + endpoint=minio-service + aws_cli_minio http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz + local endpoint=http://minio-service:9000 + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz + grep myApp.test.gz ++ mktemp + local LAST_OUT=/tmp/tmp.ywbL4xk0Lt ++ mktemp + local LAST_ERR=/tmp/tmp.VeXdTBxy3P + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'ls' 's3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz') + 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 run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ywbL4xk0Lt + cat /tmp/tmp.VeXdTBxy3P All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. + rm /tmp/tmp.ywbL4xk0Lt /tmp/tmp.VeXdTBxy3P + return 0 + sleep 1 + let retry+=1 + '[' 1 -ge 60 ']' + aws_cli_minio http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz + local endpoint=http://minio-service:9000 + grep myApp.test.gz + shift + kubectl_bin run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz ++ mktemp + local LAST_OUT=/tmp/tmp.JqRERymfg8 ++ mktemp + local LAST_ERR=/tmp/tmp.RZBy1yuOSg + local exit_status=0 + local timeout=4 + args=('run' '-i' '--rm' 'aws-cli' '--image=docker.io/amazon/aws-cli:2.34.60' '--restart=Never' '--env=AWS_ACCESS_KEY_ID=some-access-key' '--env=AWS_SECRET_ACCESS_KEY=some-secret-key' '--env=AWS_DEFAULT_REGION=us-east-1' '--' '--no-verify-ssl' '--endpoint-url' 'http://minio-service:9000' 's3' 'ls' 's3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz') + 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 run -i --rm aws-cli --image=docker.io/amazon/aws-cli:2.34.60 --restart=Never --env=AWS_ACCESS_KEY_ID=some-access-key --env=AWS_SECRET_ACCESS_KEY=some-secret-key --env=AWS_DEFAULT_REGION=us-east-1 -- --no-verify-ssl --endpoint-url http://minio-service:9000 s3 ls s3://operator-testing/2026-08-04T13:33:09Z/rs0/myApp.test.gz + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.JqRERymfg8 + cat /tmp/tmp.RZBy1yuOSg All commands and output from this session will be recorded in container logs, including credentials and sensitive information passed through the command prompt. If you don't see a command prompt, try pressing enter. warning: couldn't attach to pod/aws-cli, falling back to streaming logs: Internal error occurred: unable to upgrade connection: container aws-cli not found in pod aws-cli_upgrade-sharded-21453 + rm /tmp/tmp.JqRERymfg8 /tmp/tmp.RZBy1yuOSg + return 0 2026-08-04 13:33:14 55 myApp.test.gz + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.jGQmtWuPWo +++ mktemp ++ local LAST_ERR=/tmp/tmp.ckft6EUTK3 ++ 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.jGQmtWuPWo ++ cat /tmp/tmp.ckft6EUTK3 ++ rm /tmp/tmp.jGQmtWuPWo /tmp/tmp.ckft6EUTK3 ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.wCM8YjtPk4 ++ mktemp + local LAST_ERR=/tmp/tmp.XZZ2fTjy9F + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.wCM8YjtPk4 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("bd524f4e-f781-4c92-9c85-7dbab430e045") } Percona Server for MongoDB server version: v8.0.26-11 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.XZZ2fTjy9F + rm /tmp/tmp.wCM8YjtPk4 /tmp/tmp.XZZ2fTjy9F + return 0 + compare_mongos_cmd find myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 -2nd .svc.cluster.local myApp test + local command=find + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local postfix=-2nd + local suffix=.svc.cluster.local + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T13:41:29+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 mongodb .svc.cluster.local '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + 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:|Started a new thread for the timer service' + local mongo_bin=mongo + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Y02dNJZujf +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ks891CRUx6 ++ 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.Y02dNJZujf ++ cat /tmp/tmp.Ks891CRUx6 ++ rm /tmp/tmp.Y02dNJZujf /tmp/tmp.Ks891CRUx6 ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.V4Kem5HjKw ++ mktemp + local LAST_ERR=/tmp/tmp.QZdxjTRTWP + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.V4Kem5HjKw + cat /tmp/tmp.QZdxjTRTWP + rm /tmp/tmp.V4Kem5HjKw /tmp/tmp.QZdxjTRTWP + return 0 + compare_mongo_output find -2nd + local command=find + local postfix=-2nd + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/compare/find-2nd.json /tmp/tmp.ABhMySMEfH/find-2nd + return + run_restore backup-minio + local backup_name=backup-minio + local restore_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/conf/restore.yml + log 'running restore restore-backup-minio' + set +o xtrace [2026-08-04T13:41:31+0000] running restore restore-backup-minio + /usr/sbin/sed -e 's/name:/name: restore-backup-minio/' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/conf/restore.yml + kubectl_bin apply -f - + /usr/sbin/sed -e 's/backupName:/backupName: backup-minio/' ++ mktemp + local LAST_OUT=/tmp/tmp.Wxk0688gs3 ++ mktemp + local LAST_ERR=/tmp/tmp.LNWf1hOfO1 + 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 - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Wxk0688gs3 perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio created + cat /tmp/tmp.LNWf1hOfO1 + rm /tmp/tmp.Wxk0688gs3 /tmp/tmp.LNWf1hOfO1 + return 0 + wait_restore backup-minio upgrade-sharded + local backup_name=backup-minio + local cluster_name=upgrade-sharded + local target_state=ready + local wait_cluster_consistency=1 + local wait_time=1780 + local ok_if_ready=0 + set +o xtrace Waiting for the psmdb-restore/restore-backup-minio object to be created.OK Waiting psmdb-restore/restore-backup-minio to reach state "ready" .OK after 0 minutes + [[ 1 -eq 1 ]] + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.T1ifiCHVHN +++ mktemp ++ local LAST_ERR=/tmp/tmp.mtwGcpeOO4 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.T1ifiCHVHN ++ cat /tmp/tmp.mtwGcpeOO4 ++ rm /tmp/tmp.T1ifiCHVHN /tmp/tmp.mtwGcpeOO4 ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 1 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.etPwZagAy5 +++ mktemp ++ local LAST_ERR=/tmp/tmp.7Sp81KW8dX ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.etPwZagAy5 ++ cat /tmp/tmp.7Sp81KW8dX ++ rm /tmp/tmp.etPwZagAy5 /tmp/tmp.7Sp81KW8dX ++ return 0 + [[ initializing == ready ]] + let retry+=1 + '[' 2 -ge 32 ']' + echo 'waiting for cluster readyness' waiting for cluster readyness + sleep 20 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Ost2zOgJKw +++ mktemp ++ local LAST_ERR=/tmp/tmp.JdnpeJYUZR ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Ost2zOgJKw ++ cat /tmp/tmp.JdnpeJYUZR ++ rm /tmp/tmp.Ost2zOgJKw /tmp/tmp.JdnpeJYUZR ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5CzwFViD0X +++ mktemp ++ local LAST_ERR=/tmp/tmp.hX2PFw1F2Y ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5CzwFViD0X ++ cat /tmp/tmp.hX2PFw1F2Y ++ rm /tmp/tmp.5CzwFViD0X /tmp/tmp.hX2PFw1F2Y ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.a4XusicPLv +++ mktemp ++ local LAST_ERR=/tmp/tmp.EfeRFkF0Q5 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.a4XusicPLv ++ cat /tmp/tmp.EfeRFkF0Q5 ++ rm /tmp/tmp.a4XusicPLv /tmp/tmp.EfeRFkF0Q5 ++ return 0 + [[ 3 == 3 ]] + simple_data_check upgrade-sharded 3 1 -mongos + local cluster_name=upgrade-sharded + let last_pod=3-1 + local isSharded=1 + local cluster_pfx=-mongos + '[' 1 -eq 1 ']' + sleep 10 + wait_cluster_consistency upgrade-sharded + local retry=0 ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.state}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.20bDLqQFCn +++ mktemp ++ local LAST_ERR=/tmp/tmp.uzWdM7UfdQ ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-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 upgrade-sharded -o 'jsonpath={.status.state}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.20bDLqQFCn ++ cat /tmp/tmp.uzWdM7UfdQ ++ rm /tmp/tmp.20bDLqQFCn /tmp/tmp.uzWdM7UfdQ ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.27n5th7Bzc +++ mktemp ++ local LAST_ERR=/tmp/tmp.d43ky5o0e3 ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.rs0.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.27n5th7Bzc ++ cat /tmp/tmp.d43ky5o0e3 ++ rm /tmp/tmp.27n5th7Bzc /tmp/tmp.d43ky5o0e3 ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ZzQGYtTJmQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.CZBblJ0SVM ++ local exit_status=0 ++ local timeout=4 ++ args=('get' 'psmdb' 'upgrade-sharded' '-o' 'jsonpath={.status.replsets.cfg.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 get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ZzQGYtTJmQ ++ cat /tmp/tmp.CZBblJ0SVM ++ rm /tmp/tmp.ZzQGYtTJmQ /tmp/tmp.CZBblJ0SVM ++ return 0 + [[ 3 == 3 ]] + compare_mongos_cmd find myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local command=find + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local postfix= + local suffix= + local database=myApp + local collection=test + local port=27017 + local tls=false + local retries=3 + local retry_delay=10 + [[ false == true ]] + mongos_command=run_mongos + log 'running db.test.command() in myApp' + set +o xtrace [2026-08-04T13:43:10+0000] running db.test.command() in myApp ++ seq 1 3 + for attempt in $(seq 1 "$retries") + run_mongos 'use myApp\n db.test.find()' myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 mongodb '' '' 27017 + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453 + local driver=mongodb + local suffix=.svc.cluster.local + local mongo_flag= + local port=27017 + local mongo_bin=mongo + 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:|Started a new thread for the timer service' + /usr/sbin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ echo .svc.cluster.local ++ awk -F: '{print $2}' + suffix_port= + [[ -z '' ]] + suffix=.svc.cluster.local:27017 ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.vOXGyaNp7n +++ mktemp ++ local LAST_ERR=/tmp/tmp.20GP4Ji0RZ ++ 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.vOXGyaNp7n ++ cat /tmp/tmp.20GP4Ji0RZ ++ rm /tmp/tmp.vOXGyaNp7n /tmp/tmp.20GP4Ji0RZ ++ return 0 + local client_container=psmdb-client-757cd65695-k9sb4 + kubectl_bin exec psmdb-client-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.dlHFvchV5s ++ mktemp + local LAST_ERR=/tmp/tmp.GbavCG9dSe + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-k9sb4' '--' 'bash' '-c' 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ') + 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-757cd65695-k9sb4 -- bash -c 'export HOME=/tmp; printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-21453.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.dlHFvchV5s + cat /tmp/tmp.GbavCG9dSe + rm /tmp/tmp.dlHFvchV5s /tmp/tmp.GbavCG9dSe + return 0 + compare_mongo_output find '' + local command=find + local postfix= + [[ 0 -ne 0 ]] + diff -u /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/upgrade-sharded/compare/find.json /tmp/tmp.ABhMySMEfH/find + return + desc cleanup + set +o xtrace ----------------------------------------------------------------------------------- cleanup ----------------------------------------------------------------------------------- + destroy upgrade-sharded-21453 + local namespace=upgrade-sharded-21453 + 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.mk6rURjMuS +++ mktemp ++ local LAST_ERR=/tmp/tmp.BpdWOHNZVE ++ 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.mk6rURjMuS ++ cat /tmp/tmp.BpdWOHNZVE ++ rm /tmp/tmp.mk6rURjMuS /tmp/tmp.BpdWOHNZVE ++ return 0 + '[' 1 '!=' 0 ']' + kubectl_bin get psmdb-backup ++ mktemp + local LAST_OUT=/tmp/tmp.vDKwOHIOLe ++ mktemp + local LAST_ERR=/tmp/tmp.ugXpXuP35p + local exit_status=0 + local timeout=4 + args=('get' 'psmdb-backup') + 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 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vDKwOHIOLe NAME CLUSTER STORAGE DESTINATION TYPE SIZE STATUS COMPLETED AGE backup-minio upgrade-sharded minio s3://operator-testing/2026-08-04T13:33:09Z logical 91.84KB ready 9m38s 10m + cat /tmp/tmp.ugXpXuP35p + rm /tmp/tmp.vDKwOHIOLe /tmp/tmp.ugXpXuP35p + return 0 + kubectl_bin delete psmdb-backup --all ++ mktemp + local LAST_OUT=/tmp/tmp.g2XRJfHeDM ++ mktemp + local LAST_ERR=/tmp/tmp.17uVCtGar4 + local exit_status=0 + local timeout=4 + args=('delete' 'psmdb-backup' '--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 delete psmdb-backup --all + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.g2XRJfHeDM perconaservermongodbbackup.psmdb.percona.com "backup-minio" deleted from upgrade-sharded-21453 namespace + cat /tmp/tmp.17uVCtGar4 + rm /tmp/tmp.g2XRJfHeDM /tmp/tmp.17uVCtGar4 + return 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.Vi7JF94e6y ++ mktemp + local LAST_ERR=/tmp/tmp.Y0ydq30IUS + 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.Vi7JF94e6y 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.Y0ydq30IUS + rm /tmp/tmp.Vi7JF94e6y /tmp/tmp.Y0ydq30IUS + return 0 ++ grep -v '\-\-\-' ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/deploy/crd.yaml 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.8PJiT3AZ3v ++ mktemp + local LAST_ERR=/tmp/tmp.19jywA5KWR + 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.8PJiT3AZ3v + cat /tmp/tmp.19jywA5KWR + rm /tmp/tmp.8PJiT3AZ3v /tmp/tmp.19jywA5KWR + 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.Hfyk2KtA00 ++ mktemp + local LAST_ERR=/tmp/tmp.4pD5Qexu2J + 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.Hfyk2KtA00 + cat /tmp/tmp.4pD5Qexu2J + rm /tmp/tmp.Hfyk2KtA00 /tmp/tmp.4pD5Qexu2J + 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.jEAlzqf7n7 ++ mktemp + local LAST_ERR=/tmp/tmp.CWVba9EH44 + 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.jEAlzqf7n7 + cat /tmp/tmp.CWVba9EH44 + rm /tmp/tmp.jEAlzqf7n7 /tmp/tmp.CWVba9EH44 + 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\":[]}}"' + kubectl patch perconaservermongodbs.psmdb.percona.com -n upgrade-sharded-21453 upgrade-sharded --type=merge -p '{"metadata":{"finalizers":[]}}' perconaservermongodb.psmdb.percona.com/upgrade-sharded patched + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.NSWnEIOSYk ++ mktemp + local LAST_ERR=/tmp/tmp.Tpa2CiaJt6 + 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.NSWnEIOSYk customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com condition met + cat /tmp/tmp.Tpa2CiaJt6 + rm /tmp/tmp.NSWnEIOSYk /tmp/tmp.Tpa2CiaJt6 + 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.ME0wEkhIFv ++ mktemp + local LAST_ERR=/tmp/tmp.fdY87Co7WD + 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.ME0wEkhIFv 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.fdY87Co7WD + rm /tmp/tmp.ME0wEkhIFv /tmp/tmp.fdY87Co7WD + 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.kFVQtb6N4Y ++ mktemp + local LAST_ERR=/tmp/tmp.VLQlLELEz9 + 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.kFVQtb6N4Y 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.VLQlLELEz9 + rm /tmp/tmp.kFVQtb6N4Y /tmp/tmp.VLQlLELEz9 + return 0 + [[ -n '' ]] + '[' -n psmdb-operator ']' + rm -rf /tmp/tmp.ABhMySMEfH + kubectl_bin delete --grace-period=0 --force=true namespace upgrade-sharded-21453 + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.feHg6PQAJW ++ mktemp + local LAST_OUT=/tmp/tmp.XY0RFvJfqu ++ mktemp + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- + local LAST_ERR=/tmp/tmp.cEqeK0Fcwb + 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 + local LAST_ERR=/tmp/tmp.aMdlW50MIz + local exit_status=0 + local timeout=4 + args=('delete' '--grace-period=0' '--force=true' 'namespace' 'upgrade-sharded-21453') + 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 --grace-period=0 --force=true namespace psmdb-operator + for i in $(seq 0 2) + set +e + kubectl delete --grace-period=0 --force=true namespace upgrade-sharded-21453 ==================================================================================================== [PASSED] e2e-tests/test_pytest_wrapper.py::test_bash_wrapper ==================================================================================================== -------------------------------------------- generated xml file: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/upgrade-sharded.xml --------------------------------------------- --------------------------------------- Generated html report: file:///mnt/jenkins/workspace/cloud-psmdb-operator_PR-2491/e2e-tests/reports/upgrade-sharded.html --------------------------------------- ==================================================================================== 1 passed in 1181.73s (0:19:41) ==================================================================================== + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.feHg6PQAJW namespace "psmdb-operator" force deleted + cat /tmp/tmp.cEqeK0Fcwb 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.feHg6PQAJW /tmp/tmp.cEqeK0Fcwb + return 0 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.XY0RFvJfqu namespace "upgrade-sharded-21453" force deleted + cat /tmp/tmp.aMdlW50MIz 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.XY0RFvJfqu /tmp/tmp.aMdlW50MIz + return 0