Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/logs/upgrade-sharded.log Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 Warning: version difference between client (1.36) and server (1.33) exceeds the supported minor version skew of +/-1 + cluster=upgrade-sharded + CLUSTER_SIZE=3 + TARGET_OPERATOR_VER=1.23.0 + TARGET_IMAGE=docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 + 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 +++ local 'cli=mongod --version' +++ local pod_name=9954 +++ /usr/sbin/sed -r 's/^.*db version v(([0-9]+\.){2}[0-9]+-[0-9]+).*$/\1/g' +++ run_args=() +++ local run_args +++ arch_scheduling_enabled +++ [[ -n '' ]] +++ kubectl_bin -n default run 9954 --image=docker.io/perconalab/percona-server-mongodb-operator:main-mongod8.0 --restart=Never --command -- sleep infinity ++++ mktemp +++ local LAST_OUT=/tmp/tmp.OVC8VhUYhQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KGA4AUkHkM +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'run' '9954' '--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 9954 --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.OVC8VhUYhQ +++ cat /tmp/tmp.KGA4AUkHkM +++ rm /tmp/tmp.OVC8VhUYhQ /tmp/tmp.KGA4AUkHkM +++ return 0 +++ kubectl_bin -n default wait --for=condition=Ready pod/9954 ++++ mktemp +++ local LAST_OUT=/tmp/tmp.S0uCnLVFdA ++++ mktemp +++ local LAST_ERR=/tmp/tmp.XQRuL34lNU +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'wait' '--for=condition=Ready' 'pod/9954') +++ 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/9954 +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.S0uCnLVFdA +++ cat /tmp/tmp.XQRuL34lNU +++ rm /tmp/tmp.S0uCnLVFdA /tmp/tmp.XQRuL34lNU +++ return 0 ++++ kubectl_bin -n default exec 9954 -- bash -c 'mongod --version 2>&1' +++++ mktemp ++++ local LAST_OUT=/tmp/tmp.3g1mgXyw8X +++++ mktemp ++++ local LAST_ERR=/tmp/tmp.MDIIdleTIw ++++ local exit_status=0 ++++ local timeout=4 ++++ args=('-n' 'default' 'exec' '9954' '--' '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 9954 -- bash -c 'mongod --version 2>&1' ++++ exit_status=0 ++++ set -e ++++ '[' 0 '!=' 0 -a -n 1 ']' ++++ break ++++ cat /tmp/tmp.3g1mgXyw8X ++++ cat /tmp/tmp.MDIIdleTIw ++++ rm /tmp/tmp.3g1mgXyw8X /tmp/tmp.MDIIdleTIw ++++ return 0 +++ local $'output=db version v8.0.23-10\nBuild Info: {\n "version": "8.0.23-10",\n "gitVersion": "10286e6c2a0ccd5d65c0b324c6fe29e5412db449",\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/9954 --grace-period=0 --force ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Bmx6ChwPje ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KihGURdSa1 +++ local exit_status=0 +++ local timeout=4 +++ args=('-n' 'default' 'delete' 'pod/9954' '--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/9954 --grace-period=0 --force +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Bmx6ChwPje +++ cat /tmp/tmp.KihGURdSa1 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.Bmx6ChwPje /tmp/tmp.KihGURdSa1 +++ return 0 +++ echo db version v8.0.23-10 Build Info: '{' '"version":' '"8.0.23-10",' '"gitVersion":' '"10286e6c2a0ccd5d65c0b324c6fe29e5412db449",' '"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.23-10 ++ [[ ! 8.0.23-10 =~ ^([0-9]+\.){2}[0-9]+-[0-9]+$ ]] ++ echo 8.0.23-10 + FULL_VER=8.0.23-10 + 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.22.0 + [[ 1.22.0 == 1\.23\.0 ]] + GIT_TAG=v1.22.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.22.0/latest?databaseVersion=8.0' ++ curl -s 'https://check.percona.com/versions/v1/psmdb-operator/1.22.0/latest?databaseVersion=8.0' + INIT_OPERATOR_IMAGES='{"versions":[{"product":"psmdb-operator","operator":"1.22.0","matrix":{"mongod":{"8.0.19-7":{"imagePath":"percona/percona-server-mongodb:8.0.19-7","imageHash":"779378a9f52cd9e617d0c356053b4b9c97209b0b759aa819300427836f6f2c66","imageHashArm64":"531793543992d2e502d3187b778f8468462dd9cdb16a58fa157fe86626594ede","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.6.0":{"imagePath":"percona/pmm-client:3.6.0","imageHash":"174fa4675d3ea4d95fd7b45d11f2bcc98b98b703662e6b2614dfe886a7187b23","imageHashArm64":"435a9af2083adb68ddab6a97e6d02bd6d31c54562e919ebc09618e886d58d1ae","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.12.0":{"imagePath":"percona/percona-backup-mongodb:2.12.0","imageHash":"6d56b787c2dc532c9c19cc607a2bc1855a722cdaa52024ea38d4de4aae777f8a","imageHashArm64":"e2177fa6fef0e47ee8392ca7044a6781150ccf7297383239f813558323aa0a8e","status":"recommended","critical":false}},"operator":{"1.22.0":{"imagePath":"percona/percona-server-mongodb-operator:1.22.0","imageHash":"d4384b3853dc5026cc33de1dfd68ac11aaf5d54f4e84b115e05d7d473f4c6188","imageHashArm64":"be97aad4c0642bc4e2e5c7c31b4d123d9f6135070682b8fbd6024c7620315e72","status":"recommended","critical":false}},"logCollector":{"4.0.1-2":{"imagePath":"percona/fluentbit:4.0.1-2","imageHash":"d732be16b7f3d0eea8d9c0a50f72136db83c2aed74262300d97abd2cfaefbc26","imageHashArm64":"805c102d3646b8499b74ea9864d4c29137f94e4603470c23da1c032276193a36","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 ++ jq -r '.versions[].matrix.operator[].imagePath' ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.22.0","matrix":{"mongod":{"8.0.19-7":{"imagePath":"percona/percona-server-mongodb:8.0.19-7","imageHash":"779378a9f52cd9e617d0c356053b4b9c97209b0b759aa819300427836f6f2c66","imageHashArm64":"531793543992d2e502d3187b778f8468462dd9cdb16a58fa157fe86626594ede","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.6.0":{"imagePath":"percona/pmm-client:3.6.0","imageHash":"174fa4675d3ea4d95fd7b45d11f2bcc98b98b703662e6b2614dfe886a7187b23","imageHashArm64":"435a9af2083adb68ddab6a97e6d02bd6d31c54562e919ebc09618e886d58d1ae","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.12.0":{"imagePath":"percona/percona-backup-mongodb:2.12.0","imageHash":"6d56b787c2dc532c9c19cc607a2bc1855a722cdaa52024ea38d4de4aae777f8a","imageHashArm64":"e2177fa6fef0e47ee8392ca7044a6781150ccf7297383239f813558323aa0a8e","status":"recommended","critical":false}},"operator":{"1.22.0":{"imagePath":"percona/percona-server-mongodb-operator:1.22.0","imageHash":"d4384b3853dc5026cc33de1dfd68ac11aaf5d54f4e84b115e05d7d473f4c6188","imageHashArm64":"be97aad4c0642bc4e2e5c7c31b4d123d9f6135070682b8fbd6024c7620315e72","status":"recommended","critical":false}},"logCollector":{"4.0.1-2":{"imagePath":"percona/fluentbit:4.0.1-2","imageHash":"d732be16b7f3d0eea8d9c0a50f72136db83c2aed74262300d97abd2cfaefbc26","imageHashArm64":"805c102d3646b8499b74ea9864d4c29137f94e4603470c23da1c032276193a36","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=percona/percona-server-mongodb-operator:1.22.0 + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 == perconalab/* ]] + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 == */perconalab/* ]] + IMAGE=perconalab/percona-server-mongodb-operator:1.22.0 ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.22.0","matrix":{"mongod":{"8.0.19-7":{"imagePath":"percona/percona-server-mongodb:8.0.19-7","imageHash":"779378a9f52cd9e617d0c356053b4b9c97209b0b759aa819300427836f6f2c66","imageHashArm64":"531793543992d2e502d3187b778f8468462dd9cdb16a58fa157fe86626594ede","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.6.0":{"imagePath":"percona/pmm-client:3.6.0","imageHash":"174fa4675d3ea4d95fd7b45d11f2bcc98b98b703662e6b2614dfe886a7187b23","imageHashArm64":"435a9af2083adb68ddab6a97e6d02bd6d31c54562e919ebc09618e886d58d1ae","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.12.0":{"imagePath":"percona/percona-backup-mongodb:2.12.0","imageHash":"6d56b787c2dc532c9c19cc607a2bc1855a722cdaa52024ea38d4de4aae777f8a","imageHashArm64":"e2177fa6fef0e47ee8392ca7044a6781150ccf7297383239f813558323aa0a8e","status":"recommended","critical":false}},"operator":{"1.22.0":{"imagePath":"percona/percona-server-mongodb-operator:1.22.0","imageHash":"d4384b3853dc5026cc33de1dfd68ac11aaf5d54f4e84b115e05d7d473f4c6188","imageHashArm64":"be97aad4c0642bc4e2e5c7c31b4d123d9f6135070682b8fbd6024c7620315e72","status":"recommended","critical":false}},"logCollector":{"4.0.1-2":{"imagePath":"percona/fluentbit:4.0.1-2","imageHash":"d732be16b7f3d0eea8d9c0a50f72136db83c2aed74262300d97abd2cfaefbc26","imageHashArm64":"805c102d3646b8499b74ea9864d4c29137f94e4603470c23da1c032276193a36","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.19-7 ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.22.0","matrix":{"mongod":{"8.0.19-7":{"imagePath":"percona/percona-server-mongodb:8.0.19-7","imageHash":"779378a9f52cd9e617d0c356053b4b9c97209b0b759aa819300427836f6f2c66","imageHashArm64":"531793543992d2e502d3187b778f8468462dd9cdb16a58fa157fe86626594ede","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.6.0":{"imagePath":"percona/pmm-client:3.6.0","imageHash":"174fa4675d3ea4d95fd7b45d11f2bcc98b98b703662e6b2614dfe886a7187b23","imageHashArm64":"435a9af2083adb68ddab6a97e6d02bd6d31c54562e919ebc09618e886d58d1ae","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.12.0":{"imagePath":"percona/percona-backup-mongodb:2.12.0","imageHash":"6d56b787c2dc532c9c19cc607a2bc1855a722cdaa52024ea38d4de4aae777f8a","imageHashArm64":"e2177fa6fef0e47ee8392ca7044a6781150ccf7297383239f813558323aa0a8e","status":"recommended","critical":false}},"operator":{"1.22.0":{"imagePath":"percona/percona-server-mongodb-operator:1.22.0","imageHash":"d4384b3853dc5026cc33de1dfd68ac11aaf5d54f4e84b115e05d7d473f4c6188","imageHashArm64":"be97aad4c0642bc4e2e5c7c31b4d123d9f6135070682b8fbd6024c7620315e72","status":"recommended","critical":false}},"logCollector":{"4.0.1-2":{"imagePath":"percona/fluentbit:4.0.1-2","imageHash":"d732be16b7f3d0eea8d9c0a50f72136db83c2aed74262300d97abd2cfaefbc26","imageHashArm64":"805c102d3646b8499b74ea9864d4c29137f94e4603470c23da1c032276193a36","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.6.0' ++ echo '{"versions":[{"product":"psmdb-operator","operator":"1.22.0","matrix":{"mongod":{"8.0.19-7":{"imagePath":"percona/percona-server-mongodb:8.0.19-7","imageHash":"779378a9f52cd9e617d0c356053b4b9c97209b0b759aa819300427836f6f2c66","imageHashArm64":"531793543992d2e502d3187b778f8468462dd9cdb16a58fa157fe86626594ede","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.6.0":{"imagePath":"percona/pmm-client:3.6.0","imageHash":"174fa4675d3ea4d95fd7b45d11f2bcc98b98b703662e6b2614dfe886a7187b23","imageHashArm64":"435a9af2083adb68ddab6a97e6d02bd6d31c54562e919ebc09618e886d58d1ae","status":"recommended","critical":false}},"proxysql":{},"haproxy":{},"backup":{"2.12.0":{"imagePath":"percona/percona-backup-mongodb:2.12.0","imageHash":"6d56b787c2dc532c9c19cc607a2bc1855a722cdaa52024ea38d4de4aae777f8a","imageHashArm64":"e2177fa6fef0e47ee8392ca7044a6781150ccf7297383239f813558323aa0a8e","status":"recommended","critical":false}},"operator":{"1.22.0":{"imagePath":"percona/percona-server-mongodb-operator:1.22.0","imageHash":"d4384b3853dc5026cc33de1dfd68ac11aaf5d54f4e84b115e05d7d473f4c6188","imageHashArm64":"be97aad4c0642bc4e2e5c7c31b4d123d9f6135070682b8fbd6024c7620315e72","status":"recommended","critical":false}},"logCollector":{"4.0.1-2":{"imagePath":"percona/fluentbit:4.0.1-2","imageHash":"d732be16b7f3d0eea8d9c0a50f72136db83c2aed74262300d97abd2cfaefbc26","imageHashArm64":"805c102d3646b8499b74ea9864d4c29137f94e4603470c23da1c032276193a36","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.backup[].imagePath' + IMAGE_BACKUP=percona/percona-backup-mongodb:2.12.0 + qualify_image_var IMAGE + local var=IMAGE + local val=perconalab/percona-server-mongodb-operator:1.22.0 + local out= + local ref + [[ -z perconalab/percona-server-mongodb-operator:1.22.0 ]] + [[ perconalab/percona-server-mongodb-operator:1.22.0 == * * ]] ++ qualify_image_ref perconalab/percona-server-mongodb-operator:1.22.0 ++ local ref=perconalab/percona-server-mongodb-operator:1.22.0 ++ local first=perconalab ++ [[ perconalab == *.* ]] ++ [[ perconalab == *:* ]] ++ [[ perconalab == localhost ]] ++ [[ perconalab/percona-server-mongodb-operator:1.22.0 == percona/* ]] ++ [[ perconalab/percona-server-mongodb-operator:1.22.0 == perconalab/* ]] ++ printf %s%s docker.io/ perconalab/percona-server-mongodb-operator:1.22.0 ++ return 0 + printf -v IMAGE %s docker.io/perconalab/percona-server-mongodb-operator:1.22.0 + qualify_image_var IMAGE_MONGOD + local var=IMAGE_MONGOD + local val=percona/percona-server-mongodb:8.0.19-7 + local out= + local ref + [[ -z percona/percona-server-mongodb:8.0.19-7 ]] + [[ percona/percona-server-mongodb:8.0.19-7 == * * ]] ++ qualify_image_ref percona/percona-server-mongodb:8.0.19-7 ++ local ref=percona/percona-server-mongodb:8.0.19-7 ++ local first=percona ++ [[ percona == *.* ]] ++ [[ percona == *:* ]] ++ [[ percona == localhost ]] ++ [[ percona/percona-server-mongodb:8.0.19-7 == percona/* ]] ++ printf %s%s docker.io/ percona/percona-server-mongodb:8.0.19-7 ++ return 0 + printf -v IMAGE_MONGOD %s docker.io/percona/percona-server-mongodb:8.0.19-7 + qualify_image_var IMAGE_PMM_CLIENT + local var=IMAGE_PMM_CLIENT + local $'val=percona/pmm-client:2.44.1-1\npercona/pmm-client:3.6.0' + local out= + local ref + [[ -z percona/pmm-client:2.44.1-1 percona/pmm-client:3.6.0 ]] + [[ percona/pmm-client:2.44.1-1 percona/pmm-client:3.6.0 == * * ]] + IFS= + read -r ref + [[ -z percona/pmm-client:2.44.1-1 ]] ++ qualify_image_ref percona/pmm-client:2.44.1-1 ++ local ref=percona/pmm-client:2.44.1-1 ++ local first=percona ++ [[ percona == *.* ]] ++ [[ percona == *:* ]] ++ [[ percona == localhost ]] ++ [[ percona/pmm-client:2.44.1-1 == percona/* ]] ++ printf %s%s docker.io/ percona/pmm-client:2.44.1-1 ++ return 0 + out+=docker.io/percona/pmm-client:2.44.1-1 + out+=$'\n' + IFS= + read -r ref + [[ -z percona/pmm-client:3.6.0 ]] ++ qualify_image_ref percona/pmm-client:3.6.0 ++ local ref=percona/pmm-client:3.6.0 ++ local first=percona ++ [[ percona == *.* ]] ++ [[ percona == *:* ]] ++ [[ percona == localhost ]] ++ [[ percona/pmm-client:3.6.0 == percona/* ]] ++ printf %s%s docker.io/ percona/pmm-client:3.6.0 ++ return 0 + out+=docker.io/percona/pmm-client:3.6.0 + out+=$'\n' + IFS= + read -r ref + out=$'docker.io/percona/pmm-client:2.44.1-1\ndocker.io/percona/pmm-client:3.6.0' + printf -v IMAGE_PMM_CLIENT %s $'docker.io/percona/pmm-client:2.44.1-1\ndocker.io/percona/pmm-client:3.6.0' + return 0 + qualify_image_var IMAGE_BACKUP + local var=IMAGE_BACKUP + local val=percona/percona-backup-mongodb:2.12.0 + local out= + local ref + [[ -z percona/percona-backup-mongodb:2.12.0 ]] + [[ percona/percona-backup-mongodb:2.12.0 == * * ]] ++ qualify_image_ref percona/percona-backup-mongodb:2.12.0 ++ local ref=percona/percona-backup-mongodb:2.12.0 ++ local first=percona ++ [[ percona == *.* ]] ++ [[ percona == *:* ]] ++ [[ percona == localhost ]] ++ [[ percona/percona-backup-mongodb:2.12.0 == percona/* ]] ++ printf %s%s docker.io/ percona/percona-backup-mongodb:2.12.0 ++ return 0 + printf -v IMAGE_BACKUP %s docker.io/percona/percona-backup-mongodb:2.12.0 + [[ 1.23.0 == 1\.22\.0 ]] + main + rbac=rbac + '[' -n psmdb-operator ']' + rbac=cw-rbac + create_infra_gh upgrade-sharded-10280 v1.22.0 + local ns=upgrade-sharded-10280 + local git_tag=v1.22.0 + check_crd_for_deletion v1.22.0 + local git_tag=v1.22.0 ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/crd.yaml ++ yq eval .metadata.name ++ /usr/sbin/sed s/---//g ++ /usr/sbin/sed ':a;N;$!ba;s/\n/ /g' + for crd_name in $(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '.metadata.name' | $sed 's/---//g' | $sed ':a;N;$!ba;s/\n/ /g') ++ kubectl_bin get crd/perconaservermongodbbackups.psmdb.percona.com -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.n6KDMaGkFs +++ mktemp ++ local LAST_ERR=/tmp/tmp.MEv4z6ZKKj ++ 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=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.n6KDMaGkFs ++ cat /tmp/tmp.MEv4z6ZKKj ++ rm /tmp/tmp.n6KDMaGkFs /tmp/tmp.MEv4z6ZKKj ++ return 0 + [[ Established == 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.3gCy9wkJ5U +++ mktemp ++ local LAST_ERR=/tmp/tmp.59mMxFYraC ++ 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=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.3gCy9wkJ5U ++ cat /tmp/tmp.59mMxFYraC ++ rm /tmp/tmp.3gCy9wkJ5U /tmp/tmp.59mMxFYraC ++ return 0 + [[ Established == 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.Obj6vDUyGh +++ mktemp ++ local LAST_ERR=/tmp/tmp.s1FpXdVjjL ++ 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=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Obj6vDUyGh ++ cat /tmp/tmp.s1FpXdVjjL ++ rm /tmp/tmp.Obj6vDUyGh /tmp/tmp.s1FpXdVjjL ++ return 0 + [[ Established == Terminating ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace + awk '{print$1}' ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + xargs kubectl delete ns ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.81AdUy8bDF + local LAST_OUT=/tmp/tmp.qwdVL8lStv ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.Ekk8Gc3xWo + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_ERR=/tmp/tmp.8aNCQGro3J + 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 + 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.81AdUy8bDF + cat /tmp/tmp.Ekk8Gc3xWo + rm /tmp/tmp.81AdUy8bDF /tmp/tmp.Ekk8Gc3xWo + return 0 namespace "cert-manager" deleted namespace "upgrade-sharded-16529" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qwdVL8lStv namespace "psmdb-operator" deleted + cat /tmp/tmp.8aNCQGro3J + rm /tmp/tmp.qwdVL8lStv /tmp/tmp.8aNCQGro3J + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.RrvHKRwCGA ++ mktemp + local LAST_ERR=/tmp/tmp.oRxE4pEvIb + 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.RrvHKRwCGA + cat /tmp/tmp.oRxE4pEvIb + rm /tmp/tmp.RrvHKRwCGA /tmp/tmp.oRxE4pEvIb + 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.1i760kXE4Y ++ mktemp + local LAST_ERR=/tmp/tmp.1XZb41BLP6 + 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.1i760kXE4Y namespace/psmdb-operator created + cat /tmp/tmp.1XZb41BLP6 + rm /tmp/tmp.1i760kXE4Y /tmp/tmp.1XZb41BLP6 + return 0 + set_kube_ctx psmdb-operator + local namespace=psmdb-operator ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.bqDGCE2tbv +++ mktemp ++ local LAST_ERR=/tmp/tmp.IZzgvncPsl ++ 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.bqDGCE2tbv ++ cat /tmp/tmp.IZzgvncPsl ++ rm /tmp/tmp.bqDGCE2tbv /tmp/tmp.IZzgvncPsl ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.Pab2Vo0LhI ++ mktemp + local LAST_ERR=/tmp/tmp.ORWEpi2wYh + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3' '--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-a_jen-psmdb-2379-78d57cb02-26-cluster3 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Pab2Vo0LhI Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3" modified. + cat /tmp/tmp.ORWEpi2wYh + rm /tmp/tmp.Pab2Vo0LhI /tmp/tmp.ORWEpi2wYh + return 0 + deploy_operator_gh v1.22.0 + local git_tag=v1.22.0 + desc 'start operator' + set +o xtrace ----------------------------------------------------------------------------------- start operator ----------------------------------------------------------------------------------- + kubectl_bin apply -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/crd.yaml --server-side ++ mktemp + local LAST_OUT=/tmp/tmp.Fq2QRKxFYL ++ mktemp + local LAST_ERR=/tmp/tmp.52mne9mSXq + local exit_status=0 + local timeout=4 + args=('apply' '-f' 'https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.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.22.0/deploy/crd.yaml --server-side + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Fq2QRKxFYL customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.52mne9mSXq + rm /tmp/tmp.Fq2QRKxFYL /tmp/tmp.52mne9mSXq + 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.22.0/deploy/cw-rbac.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.7klQ2x78ex ++ mktemp + local LAST_ERR=/tmp/tmp.eEOHL9Fiiq + local exit_status=0 + local timeout=4 + args=('apply' '-f' 'https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.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.22.0/deploy/cw-rbac.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.7klQ2x78ex clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator configured serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.eEOHL9Fiiq + rm /tmp/tmp.7klQ2x78ex /tmp/tmp.eEOHL9Fiiq + return 0 + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.0/deploy/cw-operator.yaml + yq eval $'\n\t\t(.spec.template.spec.containers[].image = "docker.io/perconalab/percona-server-mongodb-operator:1.22.0") |\n\t\t((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") |\n\t\t((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /tmp/tmp.5m6Isq1ja4/cw-operator_v1.22.0.yaml + add_arch_to_podspecs - + arch_scheduling_enabled + [[ -n '' ]] + cat - + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.9Fpea6BcJy ++ mktemp + local LAST_ERR=/tmp/tmp.IiKlYhAvk7 + 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.9Fpea6BcJy deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.IiKlYhAvk7 + rm /tmp/tmp.9Fpea6BcJy /tmp/tmp.IiKlYhAvk7 + 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.ubh42yd44j +++ mktemp ++ local LAST_ERR=/tmp/tmp.orDRGDQXLF ++ 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.ubh42yd44j ++ cat /tmp/tmp.orDRGDQXLF ++ rm /tmp/tmp.ubh42yd44j /tmp/tmp.orDRGDQXLF ++ return 0 + wait_operator_pod percona-server-mongodb-operator-5c87b8f5df-m6d8w + local pod=percona-server-mongodb-operator-5c87b8f5df-m6d8w + set +o xtrace waiting for pod/percona-server-mongodb-operator-5c87b8f5df-m6d8w 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.XEdhm6qzUd +++ mktemp ++ local LAST_ERR=/tmp/tmp.xT3adzNF7h ++ 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.XEdhm6qzUd ++ cat /tmp/tmp.xT3adzNF7h ++ rm /tmp/tmp.XEdhm6qzUd /tmp/tmp.xT3adzNF7h ++ return 0 + kubectl_bin logs -n psmdb-operator percona-server-mongodb-operator-5c87b8f5df-m6d8w ++ mktemp + local LAST_OUT=/tmp/tmp.xBGlXd4Wjq ++ mktemp + local LAST_ERR=/tmp/tmp.SqIKvgvAlh + local exit_status=0 + local timeout=4 + args=('logs' '-n' 'psmdb-operator' 'percona-server-mongodb-operator-5c87b8f5df-m6d8w') + 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-5c87b8f5df-m6d8w + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.xBGlXd4Wjq + cat /tmp/tmp.SqIKvgvAlh + rm /tmp/tmp.xBGlXd4Wjq /tmp/tmp.SqIKvgvAlh + return 0 2026-06-19T20:44:42.319Z INFO setup Manager starting up {"gitCommit": "1fc1e8b4e5640f83f0b5b71e0f25d8bbec82caf6", "gitBranch": "release-1-22-0", "buildTime": "", "goVersion": "go1.25.7", "os": "linux", "arch": "amd64"} + create_namespace upgrade-sharded-10280 + local namespace=upgrade-sharded-10280 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ tail -n1 ++ awk '-F ' '{print $2}' ++ sed s/NAMESPACE// + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrolebinding ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ kubectl get clusterrole ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + kubectl_bin get ns + grep -E -v '^kube-|^default|Terminating|psmdb-operator|openshift|^gke-|^gmp-|^NAME' + awk '{print$1}' ++ mktemp + '[' -n '' ']' + xargs kubectl delete ns + desc 'cleaned up old namespaces upgrade-sharded-10280' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces upgrade-sharded-10280 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace upgrade-sharded-10280 --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.DDpRPi0fEz ++ mktemp + local LAST_OUT=/tmp/tmp.UmhSPMkS7j + local LAST_ERR=/tmp/tmp.HU8ko2cMbw + local exit_status=0 + local timeout=4 + args=('get' 'ns') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled ++ mktemp + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] ++ seq 0 2 + local LAST_ERR=/tmp/tmp.vouepxsQtQ + local exit_status=0 + local timeout=4 + args=('delete' 'namespace' 'upgrade-sharded-10280' '--ignore-not-found') + local args + transformed_files=() + local transformed_files + arch_scheduling_enabled + [[ -n '' ]] + arch_scheduling_enabled + [[ -n '' ]] + for i in $(seq 0 2) + set +e + kubectl get ns ++ seq 0 2 + for i in $(seq 0 2) + set +e + kubectl delete namespace upgrade-sharded-10280 --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.DDpRPi0fEz + cat /tmp/tmp.HU8ko2cMbw + rm /tmp/tmp.DDpRPi0fEz /tmp/tmp.HU8ko2cMbw + 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.UmhSPMkS7j + cat /tmp/tmp.vouepxsQtQ + rm /tmp/tmp.UmhSPMkS7j /tmp/tmp.vouepxsQtQ + return 0 + kubectl_bin wait --for=delete namespace upgrade-sharded-10280 ++ mktemp + local LAST_OUT=/tmp/tmp.YtlBZKTEoO ++ mktemp + local LAST_ERR=/tmp/tmp.5OKNeKO104 + local exit_status=0 + local timeout=4 + args=('wait' '--for=delete' 'namespace' 'upgrade-sharded-10280') + 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-10280 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.YtlBZKTEoO + cat /tmp/tmp.5OKNeKO104 + rm /tmp/tmp.YtlBZKTEoO /tmp/tmp.5OKNeKO104 + return 0 + desc 'create namespace upgrade-sharded-10280' + set +o xtrace ----------------------------------------------------------------------------------- create namespace upgrade-sharded-10280 ----------------------------------------------------------------------------------- + kubectl_bin create namespace upgrade-sharded-10280 ++ mktemp + local LAST_OUT=/tmp/tmp.fYUZMqu1cC ++ mktemp + local LAST_ERR=/tmp/tmp.Ox4kcQg3Im + local exit_status=0 + local timeout=4 + args=('create' 'namespace' 'upgrade-sharded-10280') + 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-10280 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.fYUZMqu1cC namespace/upgrade-sharded-10280 created + cat /tmp/tmp.Ox4kcQg3Im + rm /tmp/tmp.fYUZMqu1cC /tmp/tmp.Ox4kcQg3Im + return 0 + set_kube_ctx upgrade-sharded-10280 + local namespace=upgrade-sharded-10280 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.1gwq6eqO2R +++ mktemp ++ local LAST_ERR=/tmp/tmp.c6ohggby1o ++ 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.1gwq6eqO2R ++ cat /tmp/tmp.c6ohggby1o ++ rm /tmp/tmp.1gwq6eqO2R /tmp/tmp.c6ohggby1o ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3 --namespace=upgrade-sharded-10280 ++ mktemp + local LAST_OUT=/tmp/tmp.s0WdSSzbXt ++ mktemp + local LAST_ERR=/tmp/tmp.kZcQ5fLzSG + local exit_status=0 + local timeout=4 + args=('config' 'set-context' 'gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3' '--namespace=upgrade-sharded-10280') + 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-a_jen-psmdb-2379-78d57cb02-26-cluster3 --namespace=upgrade-sharded-10280 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.s0WdSSzbXt Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-2379-78d57cb02-26-cluster3" modified. + cat /tmp/tmp.kZcQ5fLzSG + rm /tmp/tmp.s0WdSSzbXt /tmp/tmp.kZcQ5fLzSG + return 0 + deploy_cert_manager + desc 'deploy cert manager' + set +o xtrace ----------------------------------------------------------------------------------- deploy cert manager ----------------------------------------------------------------------------------- + kubectl_bin create namespace cert-manager ++ mktemp + local LAST_OUT=/tmp/tmp.dTKX1icLxD ++ mktemp + local LAST_ERR=/tmp/tmp.aCYycd5xQU + 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.dTKX1icLxD namespace/cert-manager created + cat /tmp/tmp.aCYycd5xQU + rm /tmp/tmp.dTKX1icLxD /tmp/tmp.aCYycd5xQU + return 0 + kubectl_bin label namespace cert-manager certmanager.k8s.io/disable-validation=true ++ mktemp + local LAST_OUT=/tmp/tmp.MC1xsS5RcY ++ mktemp + local LAST_ERR=/tmp/tmp.ShDk1EUqUE + 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.MC1xsS5RcY namespace/cert-manager labeled + cat /tmp/tmp.ShDk1EUqUE + rm /tmp/tmp.MC1xsS5RcY /tmp/tmp.ShDk1EUqUE + return 0 + curl -sL https://github.com/cert-manager/cert-manager/releases/download/v1.19.3/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 unchanged customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io unchanged customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io unchanged serviceaccount/cert-manager-cainjector created serviceaccount/cert-manager created serviceaccount/cert-manager-webhook created clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-view unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-edit unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests unchanged clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews unchanged role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged role.rbac.authorization.k8s.io/cert-manager-tokenrequest created role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection unchanged rolebinding.rbac.authorization.k8s.io/cert-manager-tokenrequest 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 configured validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured + kubectl_bin -n cert-manager wait pod -l app.kubernetes.io/instance=cert-manager --for=condition=ready ++ mktemp + local LAST_OUT=/tmp/tmp.l9cYxmpq2U ++ mktemp + local LAST_ERR=/tmp/tmp.0R7FmhYTzM + 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.l9cYxmpq2U pod/cert-manager-559d798845-j9924 condition met pod/cert-manager-cainjector-64958d9c7c-8dl6d condition met pod/cert-manager-webhook-7fb6f99b56-lrz9z condition met + cat /tmp/tmp.0R7FmhYTzM E0619 20:45:14.439055 896703 reflector.go:227] "Failed to watch" err="Get \"https://35.222.157.8/api/v1/namespaces/cert-manager/pods?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dcert-manager-cainjector-64958d9c7c-8dl6d&resourceVersion=1781901914064431015&timeoutSeconds=574&watch=true\": context canceled" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162" type="*unstructured.Unstructured" + rm /tmp/tmp.l9cYxmpq2U /tmp/tmp.0R7FmhYTzM + 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-2379/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/conf/cloud-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.VdV9xujsW9 ++ mktemp + local LAST_ERR=/tmp/tmp.bTh2JXHeNl + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/conf/minio-secret.yml' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/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-2379/e2e-tests/conf/minio-secret.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/conf/cloud-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.VdV9xujsW9 secret/minio-secret created secret/aws-s3-secret created secret/alibaba-cloud-secret created secret/gcp-cs-secret created secret/azure-secret created secret/gcp-cs-sa-key-secret created + cat /tmp/tmp.bTh2JXHeNl + rm /tmp/tmp.VdV9xujsW9 /tmp/tmp.bTh2JXHeNl + 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: Fri Jun 19 20:47:27 2026 NAMESPACE: upgrade-sharded-10280 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-10280.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace upgrade-sharded-10280 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace upgrade-sharded-10280 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-10280 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace upgrade-sharded-10280 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.RIVWx0BeD0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.oLXghut7Ln ++ 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.RIVWx0BeD0 ++ cat /tmp/tmp.oLXghut7Ln ++ rm /tmp/tmp.RIVWx0BeD0 /tmp/tmp.oLXghut7Ln ++ return 0 + local MINIO_POD=minio-service-6d5f646cdc-2nh95 + wait_pod minio-service-6d5f646cdc-2nh95 + local pod=minio-service-6d5f646cdc-2nh95 + set +o xtrace waiting for pod/minio-service-6d5f646cdc-2nh95 to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.upgrade-sharded-10280.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.bxUOpyKRYk ++ mktemp + local LAST_ERR=/tmp/tmp.UdvIqRjc4F + 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.bxUOpyKRYk pod "aws-cli" deleted from upgrade-sharded-10280 namespace + cat /tmp/tmp.UdvIqRjc4F 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.bxUOpyKRYk /tmp/tmp.UdvIqRjc4F + 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.22.0/deploy/secrets.yaml + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/conf/client.yml -f /tmp/tmp.5m6Isq1ja4/secrets.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.Zx7Lyozt6G ++ mktemp + local LAST_ERR=/tmp/tmp.N3UzvAOJ0d + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/e2e-tests/conf/client.yml' '-f' '/tmp/tmp.5m6Isq1ja4/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-2379/e2e-tests/conf/client.yml -f /tmp/tmp.5m6Isq1ja4/secrets.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Zx7Lyozt6G deployment.apps/psmdb-client created secret/my-cluster-name-secrets created + cat /tmp/tmp.N3UzvAOJ0d + rm /tmp/tmp.Zx7Lyozt6G /tmp/tmp.N3UzvAOJ0d + return 0 + desc 'create first PSMDB cluster upgrade-sharded' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster upgrade-sharded ----------------------------------------------------------------------------------- + local cr_yaml=/tmp/tmp.5m6Isq1ja4/cr_v1.22.0.yaml + prepare_cr_yaml /tmp/tmp.5m6Isq1ja4/cr_v1.22.0.yaml + local cr_yaml=/tmp/tmp.5m6Isq1ja4/cr_v1.22.0.yaml + curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.22.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.5m6Isq1ja4/cr_v1.22.0.yaml + '[' -z '' ']' + cat_config /tmp/tmp.5m6Isq1ja4/cr_v1.22.0.yaml + kubectl_bin apply -f - + cat /tmp/tmp.5m6Isq1ja4/cr_v1.22.0.yaml ++ mktemp + yq eval '(.spec | select(.image == null)).image = "docker.io/percona/percona-server-mongodb:8.0.19-7"' + yq eval '(.spec | select(has("initImage"))).initImage = "docker.io/perconalab/percona-server-mongodb-operator:1.22.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "docker.io/perconalab/pmm-client:3-dev-latest"' + yq eval '(.spec | select(has("backup"))).backup.image = "docker.io/percona/percona-backup-mongodb:2.12.0"' + [[ -n docker.io/perconalab/fluentbit:main-logcollector ]] + IMAGE_LOGCOLLECTOR=docker.io/perconalab/fluentbit:main-logcollector + yq eval '(.spec | select(has("logcollector"))).logcollector.image = strenv(IMAGE_LOGCOLLECTOR)' + yq eval '(.spec | select(has("search"))).search.image = "mongodb/mongodb-community-search:latest"' + local LAST_OUT=/tmp/tmp.MzJpEzX92q ++ mktemp + /usr/sbin/sed -e s/NAME_SPACE/upgrade-sharded-10280/g + yq eval '.spec.upgradeOptions.apply="Never"' + local LAST_ERR=/tmp/tmp.mmBaSvSRiV + 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 + add_arch_to_psmdb - + arch_scheduling_enabled + for i in $(seq 0 2) + set +e + [[ -n '' ]] + kubectl apply -f - + cat - + return + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.MzJpEzX92q perconaservermongodb.psmdb.percona.com/upgrade-sharded created + cat /tmp/tmp.mmBaSvSRiV + rm /tmp/tmp.MzJpEzX92q /tmp/tmp.mmBaSvSRiV + 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_readyness=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.BzWdO9HErW +++ mktemp ++ local LAST_ERR=/tmp/tmp.D7jYaXmbcM ++ 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.BzWdO9HErW ++ cat /tmp/tmp.D7jYaXmbcM ++ rm /tmp/tmp.BzWdO9HErW /tmp/tmp.D7jYaXmbcM ++ 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.a0StlU6NsC +++ mktemp ++ local LAST_ERR=/tmp/tmp.07cGHwoh6n ++ 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.a0StlU6NsC ++ cat /tmp/tmp.07cGHwoh6n ++ rm /tmp/tmp.a0StlU6NsC /tmp/tmp.07cGHwoh6n ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.W40hjioB7U +++ mktemp ++ local LAST_ERR=/tmp/tmp.Impa3KpavV ++ 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.W40hjioB7U ++ cat /tmp/tmp.Impa3KpavV ++ rm /tmp/tmp.W40hjioB7U /tmp/tmp.Impa3KpavV ++ 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_readyness=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.4oXGClae53 +++ mktemp ++ local LAST_ERR=/tmp/tmp.eVUUvGziyi ++ 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.4oXGClae53 ++ cat /tmp/tmp.eVUUvGziyi ++ rm /tmp/tmp.4oXGClae53 /tmp/tmp.eVUUvGziyi ++ 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.zhkdvegrxP +++ mktemp ++ local LAST_ERR=/tmp/tmp.vR37Zwc11D ++ 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.zhkdvegrxP ++ cat /tmp/tmp.vR37Zwc11D ++ rm /tmp/tmp.zhkdvegrxP /tmp/tmp.vR37Zwc11D ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.f19glmafN0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.crwHIPAyCl ++ 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.f19glmafN0 ++ cat /tmp/tmp.crwHIPAyCl ++ rm /tmp/tmp.f19glmafN0 /tmp/tmp.crwHIPAyCl ++ 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.STcFLsC6zM +++ mktemp ++ local LAST_ERR=/tmp/tmp.YbF403ulWg ++ 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.STcFLsC6zM ++ cat /tmp/tmp.YbF403ulWg ++ rm /tmp/tmp.STcFLsC6zM /tmp/tmp.YbF403ulWg ++ 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.wXqKwnkmbA +++ mktemp ++ local LAST_ERR=/tmp/tmp.b8d3g2gl3m ++ 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.wXqKwnkmbA ++ cat /tmp/tmp.b8d3g2gl3m ++ rm /tmp/tmp.wXqKwnkmbA /tmp/tmp.b8d3g2gl3m ++ 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.V7NVN1484X +++ mktemp ++ local LAST_ERR=/tmp/tmp.jsLauxpS5b ++ 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.V7NVN1484X ++ cat /tmp/tmp.jsLauxpS5b ++ rm /tmp/tmp.V7NVN1484X /tmp/tmp.jsLauxpS5b ++ 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.nCmbG2Isk1 +++ mktemp ++ local LAST_ERR=/tmp/tmp.FOpQTr5LBM ++ 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.nCmbG2Isk1 ++ cat /tmp/tmp.FOpQTr5LBM ++ rm /tmp/tmp.nCmbG2Isk1 /tmp/tmp.FOpQTr5LBM ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.u8OSmtAWuH +++ mktemp ++ local LAST_ERR=/tmp/tmp.TydrHTcyxa ++ 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.u8OSmtAWuH ++ cat /tmp/tmp.TydrHTcyxa ++ rm /tmp/tmp.u8OSmtAWuH /tmp/tmp.TydrHTcyxa ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.DHXKyBG0Wt +++ mktemp ++ local LAST_ERR=/tmp/tmp.IeJoKqWMID ++ 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.DHXKyBG0Wt ++ cat /tmp/tmp.IeJoKqWMID ++ rm /tmp/tmp.DHXKyBG0Wt /tmp/tmp.IeJoKqWMID ++ 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-10280 + local 'command=db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})' + local uri=userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-10280 + 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.9eJqN4ccA7 +++ mktemp ++ local LAST_ERR=/tmp/tmp.9QKiPTSbRQ ++ 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.9eJqN4ccA7 ++ cat /tmp/tmp.9QKiPTSbRQ ++ rm /tmp/tmp.9eJqN4ccA7 /tmp/tmp.9QKiPTSbRQ ++ return 0 + local client_container=psmdb-client-757cd65695-2vbs9 + kubectl_bin exec psmdb-client-757cd65695-2vbs9 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.5npVKlB8ID ++ mktemp + local LAST_ERR=/tmp/tmp.8alTwH8UFo + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2vbs9' '--' 'bash' '-c' 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-10280.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-2vbs9 -- bash -c 'printf '\''db.createUser({user: "myApp", pwd: "myPass", roles: [{ db: "myApp", role: "readWrite" }]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5npVKlB8ID Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9ca2eca1-6895-4448-9978-f9f10a30ef30") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.8alTwH8UFo + rm /tmp/tmp.5npVKlB8ID /tmp/tmp.8alTwH8UFo + 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-10280 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-10280 + 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.XwqXdfQnrK +++ mktemp ++ local LAST_ERR=/tmp/tmp.RpSxdep3UJ ++ 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.XwqXdfQnrK ++ cat /tmp/tmp.RpSxdep3UJ ++ rm /tmp/tmp.XwqXdfQnrK /tmp/tmp.RpSxdep3UJ ++ return 0 + local client_container=psmdb-client-757cd65695-2vbs9 + kubectl_bin exec psmdb-client-757cd65695-2vbs9 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.Rcfv3HbsBC ++ mktemp + local LAST_ERR=/tmp/tmp.1ehLfrOZX6 + local exit_status=0 + local timeout=4 + args=('exec' 'psmdb-client-757cd65695-2vbs9' '--' 'bash' '-c' 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-10280.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-2vbs9 -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Rcfv3HbsBC Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://upgrade-sharded-mongos.upgrade-sharded-10280.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("40cdf35a-c5c3-44e9-9c19-faf6e4db9783") } Percona Server for MongoDB server version: v8.0.19-7 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.1ehLfrOZX6 + rm /tmp/tmp.Rcfv3HbsBC /tmp/tmp.1ehLfrOZX6 + 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.KiLcY3piuP +++ mktemp ++ local LAST_ERR=/tmp/tmp.9JLxXeaXqA ++ 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.KiLcY3piuP ++ cat /tmp/tmp.9JLxXeaXqA ++ rm /tmp/tmp.KiLcY3piuP /tmp/tmp.9JLxXeaXqA ++ 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.4iTLdjmUh6 +++ mktemp ++ local LAST_ERR=/tmp/tmp.KmT8jfEdj5 ++ 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.4iTLdjmUh6 ++ cat /tmp/tmp.KmT8jfEdj5 ++ rm /tmp/tmp.4iTLdjmUh6 /tmp/tmp.KmT8jfEdj5 ++ 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.1dGrfu5SF4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.CcYxW2LRQc ++ 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.1dGrfu5SF4 ++ cat /tmp/tmp.CcYxW2LRQc ++ rm /tmp/tmp.1dGrfu5SF4 /tmp/tmp.CcYxW2LRQc ++ 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.KKxw34Cv3j +++ mktemp ++ local LAST_ERR=/tmp/tmp.34avPmjTuE ++ 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.KKxw34Cv3j ++ cat /tmp/tmp.34avPmjTuE ++ rm /tmp/tmp.KKxw34Cv3j /tmp/tmp.34avPmjTuE ++ 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-06-19T20:50:34.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-06-19T20:50: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-06-19T20:50:43.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-06-19T20:49:30.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-06-19T20:49:56.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-06-19T20:50:00.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-06-19T20:51:04+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-2379/e2e-tests/upgrade-sharded/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.Y17wy7xXkU ++ mktemp + local LAST_ERR=/tmp/tmp.DVW3lw97kD + 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.Y17wy7xXkU perconaservermongodbbackup.psmdb.percona.com/backup-minio created + cat /tmp/tmp.DVW3lw97kD + rm /tmp/tmp.Y17wy7xXkU /tmp/tmp.DVW3lw97kD + 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-2379/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.CG3fjVnOhn ++ mktemp + local LAST_ERR=/tmp/tmp.tqW58K4UCJ + local exit_status=0 + local timeout=4 + args=('apply' '--server-side' '--force-conflicts' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/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-2379/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.CG3fjVnOhn 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.tqW58K4UCJ + rm /tmp/tmp.CG3fjVnOhn /tmp/tmp.tqW58K4UCJ + return 0 + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/deploy/cw-rbac.yaml -n psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.PsjopVG9xA ++ mktemp + local LAST_ERR=/tmp/tmp.ccFMPwOX10 + local exit_status=0 + local timeout=4 + args=('apply' '-f' '/mnt/jenkins/workspace/cloud-psmdb-operator_PR-2379/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-2379/deploy/cw-rbac.yaml -n psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PsjopVG9xA clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator configured serviceaccount/percona-server-mongodb-operator unchanged clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator unchanged + cat /tmp/tmp.ccFMPwOX10 + rm /tmp/tmp.PsjopVG9xA /tmp/tmp.ccFMPwOX10 + return 0 + desc 'use new image docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02' + set +o xtrace ----------------------------------------------------------------------------------- use new image docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 ----------------------------------------------------------------------------------- + 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-2379-78d57cb02"}]}}}}' ++ mktemp + local LAST_OUT=/tmp/tmp.QzKurh304Y ++ mktemp + local LAST_ERR=/tmp/tmp.qjdSLeRtPc + 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-2379-78d57cb02"}]}}}}') + 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-2379-78d57cb02"}]}}}}' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.QzKurh304Y deployment.apps/percona-server-mongodb-operator patched + cat /tmp/tmp.qjdSLeRtPc + rm /tmp/tmp.QzKurh304Y /tmp/tmp.qjdSLeRtPc + return 0 + kubectl_bin rollout status deployment/percona-server-mongodb-operator -n psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.68fwWdP5mh ++ mktemp + local LAST_ERR=/tmp/tmp.me3UvbwBr7 + 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.68fwWdP5mh 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.me3UvbwBr7 + rm /tmp/tmp.68fwWdP5mh /tmp/tmp.me3UvbwBr7 + 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.CWXOH12V4X +++ mktemp ++ local LAST_ERR=/tmp/tmp.WIbuuVARo4 ++ 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.CWXOH12V4X ++ cat /tmp/tmp.WIbuuVARo4 ++ rm /tmp/tmp.CWXOH12V4X /tmp/tmp.WIbuuVARo4 ++ return 0 + [[ 2 -eq 1 ]] + sleep 5 ++ 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.xlvBo7cwqC +++ mktemp ++ local LAST_ERR=/tmp/tmp.SxS4HRk9gt ++ 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.xlvBo7cwqC ++ cat /tmp/tmp.SxS4HRk9gt ++ rm /tmp/tmp.xlvBo7cwqC /tmp/tmp.SxS4HRk9gt ++ 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_readyness=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.KMJ9D5rq8H +++ mktemp ++ local LAST_ERR=/tmp/tmp.EW8dJ6PIUy ++ 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.KMJ9D5rq8H ++ cat /tmp/tmp.EW8dJ6PIUy ++ rm /tmp/tmp.KMJ9D5rq8H /tmp/tmp.EW8dJ6PIUy ++ 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.KlKkRr0vfv +++ mktemp ++ local LAST_ERR=/tmp/tmp.ed9ExNy4F5 ++ 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.KlKkRr0vfv ++ cat /tmp/tmp.ed9ExNy4F5 ++ rm /tmp/tmp.KlKkRr0vfv /tmp/tmp.ed9ExNy4F5 ++ return 0 + [[ false == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.qMznA4i5ac +++ mktemp ++ local LAST_ERR=/tmp/tmp.IwgGM7hIUl ++ 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.qMznA4i5ac ++ cat /tmp/tmp.IwgGM7hIUl ++ rm /tmp/tmp.qMznA4i5ac /tmp/tmp.IwgGM7hIUl ++ 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_readyness=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.yNOJOgnGbW +++ mktemp ++ local LAST_ERR=/tmp/tmp.YpxdEkC1SP ++ 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.yNOJOgnGbW ++ cat /tmp/tmp.YpxdEkC1SP ++ rm /tmp/tmp.yNOJOgnGbW /tmp/tmp.YpxdEkC1SP ++ 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.fk3iKeCtHn +++ mktemp ++ local LAST_ERR=/tmp/tmp.7NttJi6v3l ++ 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.fk3iKeCtHn ++ cat /tmp/tmp.7NttJi6v3l ++ rm /tmp/tmp.fk3iKeCtHn /tmp/tmp.7NttJi6v3l ++ return 0 + [[ '' == true ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].hidden.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.kf9FOg5yHE +++ mktemp ++ local LAST_ERR=/tmp/tmp.LJAvhW4yqH ++ 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.kf9FOg5yHE ++ cat /tmp/tmp.LJAvhW4yqH ++ rm /tmp/tmp.kf9FOg5yHE /tmp/tmp.LJAvhW4yqH ++ 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.odjkqmp0jf +++ mktemp ++ local LAST_ERR=/tmp/tmp.Ofc0U0Xu83 ++ 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.odjkqmp0jf ++ cat /tmp/tmp.Ofc0U0Xu83 ++ rm /tmp/tmp.odjkqmp0jf /tmp/tmp.Ofc0U0Xu83 ++ return 0 + [[ ready == ready ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.rs0.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.hyIjiIXk3U +++ mktemp ++ local LAST_ERR=/tmp/tmp.cB8HlWAM81 ++ 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.hyIjiIXk3U ++ cat /tmp/tmp.cB8HlWAM81 ++ rm /tmp/tmp.hyIjiIXk3U /tmp/tmp.cB8HlWAM81 ++ return 0 + [[ 3 == 3 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.status.replsets.cfg.ready}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0EvTQWrmcD +++ mktemp ++ local LAST_ERR=/tmp/tmp.NsU6gffiiw ++ 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.0EvTQWrmcD ++ cat /tmp/tmp.NsU6gffiiw ++ rm /tmp/tmp.0EvTQWrmcD /tmp/tmp.NsU6gffiiw ++ 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.sHGzE0XxMf +++ mktemp ++ local LAST_ERR=/tmp/tmp.rL1Gp65Uyn ++ 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.sHGzE0XxMf ++ cat /tmp/tmp.rL1Gp65Uyn ++ rm /tmp/tmp.sHGzE0XxMf /tmp/tmp.rL1Gp65Uyn ++ return 0 + [[ docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 == docker.io/perconalab/percona-server-mongodb-operator:PR-2379-78d57cb02 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.backup.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.JOgkCa1cSE +++ mktemp ++ local LAST_ERR=/tmp/tmp.UuaICiijHr ++ 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.JOgkCa1cSE ++ cat /tmp/tmp.UuaICiijHr ++ rm /tmp/tmp.JOgkCa1cSE /tmp/tmp.UuaICiijHr ++ return 0 + [[ docker.io/percona/percona-backup-mongodb:2.12.0 == docker.io/percona/percona-backup-mongodb:2.12.0 ]] ++ kubectl_bin get psmdb upgrade-sharded -o 'jsonpath={.spec.pmm.image}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.pQdWhrwSyQ +++ mktemp ++ local LAST_ERR=/tmp/tmp.E0mKxzNeP0 ++ 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.pQdWhrwSyQ ++ cat /tmp/tmp.E0mKxzNeP0 ++ rm /tmp/tmp.pQdWhrwSyQ /tmp/tmp.E0mKxzNeP0 ++ return 0 + [[ docker.io/percona/pmm-client:2.44.1-1 docker.io/percona/pmm-client:3.6.0 == docker.io/perconalab/pmm-client:3-dev-latest ]] + echo 'Operator image has not been updated' Operator image has not been updated + exit 1