~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts ANSIBLE_FORCE_COLOR=true ansible-playbook \ -v -i hosts --tags all \ download_tools.yaml Using /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ansible.cfg as config file PLAY [Download tools] ********************************************************** TASK [download_tools : Install build dependencies name=['jq', 'skopeo', 'sqlite', 'httpd-tools', 'virt-install', 'gcc', 'python3-jinja2', 'xmlstarlet', 'openssl']] *** Wednesday 25 February 2026 20:14:21 +0000 (0:00:00.034) 0:00:00.034 **** Wednesday 25 February 2026 20:14:21 +0000 (0:00:00.033) 0:00:00.033 **** changed: [localhost] =>   changed: true  msg: ''  rc: 0  results:  - 'Installed: skopeo-2:1.22.0-1.el9.x86_64'  - 'Installed: osinfo-db-20250606-1.el9.noarch'  - 'Installed: osinfo-db-tools-1.10.0-1.el9.x86_64'  - 'Installed: apr-1.7.0-12.el9.x86_64'  - 'Installed: apr-util-1.6.1-23.el9.x86_64'  - 'Installed: apr-util-bdb-1.6.1-23.el9.x86_64'  - 'Installed: apr-util-openssl-1.6.1-23.el9.x86_64'  - 'Installed: libosinfo-1.10.0-1.el9.x86_64'  - 'Installed: virt-install-5.0.0-1.el9.noarch'  - 'Installed: virt-manager-common-5.0.0-1.el9.noarch'  - 'Installed: libisoburn-1.5.4-5.el9.x86_64'  - 'Installed: libvirt-client-11.10.0-4.el9.x86_64'  - 'Installed: libisofs-1.5.4-4.el9.x86_64'  - 'Installed: xorriso-1.5.4-5.el9.x86_64'  - 'Installed: python3-argcomplete-1.12.0-5.el9.noarch'  - 'Installed: libburn-1.5.4-5.el9.x86_64'  - 'Installed: xmlstarlet-1.6.1-20.el9.x86_64'  - 'Installed: sqlite-3.34.1-9.el9.x86_64'  - 'Installed: httpd-tools-2.4.62-12.el9.x86_64' TASK [download_tools : Set opm download url suffix opm_url_suffix=latest/download] *** Wednesday 25 February 2026 20:14:26 +0000 (0:00:04.760) 0:00:04.794 **** Wednesday 25 February 2026 20:14:26 +0000 (0:00:04.760) 0:00:04.793 **** skipping: [localhost] =>   changed: false  false_condition: opm_version is undefined or opm_version == "latest"  skip_reason: Conditional result was False TASK [download_tools : Set opm download url suffix opm_url_suffix=download/{{ opm_version }}] *** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.037) 0:00:04.831 **** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.037) 0:00:04.830 **** ok: [localhost] =>   ansible_facts:  opm_url_suffix: download/v1.30.0  changed: false TASK [download_tools : Create $HOME/bin dir path={{ lookup('env', 'HOME') }}/bin, state=directory, mode=0755] *** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.031) 0:00:04.862 **** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.031) 0:00:04.861 **** ok: [localhost] =>   changed: false  gid: 1000  group: zuul  mode: '0755'  owner: zuul  path: /home/zuul/bin  secontext: unconfined_u:object_r:home_bin_t:s0  size: 48  state: directory  uid: 1000 TASK [download_tools : Download opm url=https://github.com/operator-framework/operator-registry/releases/{{ opm_url_suffix }}/linux-amd64-opm, dest={{ lookup('env', 'HOME') }}/bin/opm, mode=0755, timeout=30] *** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.326) 0:00:05.188 **** Wednesday 25 February 2026 20:14:26 +0000 (0:00:00.326) 0:00:05.188 **** changed: [localhost] =>   changed: true  checksum_dest: null  checksum_src: 9238abd6903e2fbbb4e1077b6ae3ada340867a32  dest: /home/zuul/bin/opm  elapsed: 0  gid: 1000  group: zuul  md5sum: 7012baf74b8eb8252ce3d768e06f5400  mode: '0755'  msg: OK (54879432 bytes)  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 54879432  src: /home/zuul/.ansible/tmp/ansible-moduletmp-1772050467.3136873-sboqczpd/tmpvnvqltq7  state: file  status_code: 200  uid: 1000  url: https://github.com/operator-framework/operator-registry/releases/download/v1.30.0/linux-amd64-opm TASK [download_tools : Set oc-mirror download url oc_mirror_url=https://mirror.openshift.com/pub/openshift-v4/clients/ocp/{{ oc_mirror_version }}/oc-mirror.tar.gz] *** Wednesday 25 February 2026 20:14:28 +0000 (0:00:01.033) 0:00:06.222 **** Wednesday 25 February 2026 20:14:28 +0000 (0:00:01.033) 0:00:06.221 **** ok: [localhost] =>   ansible_facts:  oc_mirror_url: https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/oc-mirror.tar.gz  changed: false TASK [download_tools : Download and extract oc-mirror src={{ oc_mirror_url }}, dest={{ lookup('env', 'HOME') }}/bin/, remote_src=True] *** Wednesday 25 February 2026 20:14:28 +0000 (0:00:00.043) 0:00:06.265 **** Wednesday 25 February 2026 20:14:28 +0000 (0:00:00.043) 0:00:06.265 **** changed: [localhost] =>   changed: true  dest: /home/zuul/bin/  extract_results:  cmd:  - /usr/bin/gtar  - --extract  - -C  - /home/zuul/bin  - -z  - -f  - /home/zuul/.ansible/tmp/ansible-tmp-1772050468.0874856-31204-156868646450591/oc-mirroniz3x2kl.tar.gz  err: ''  out: ''  rc: 0  gid: 1000  group: zuul  handler: TgzArchive  mode: '0755'  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 76  src: /home/zuul/.ansible/tmp/ansible-tmp-1772050468.0874856-31204-156868646450591/oc-mirroniz3x2kl.tar.gz  state: directory  uid: 1000 TASK [download_tools : Make oc-mirror executable path={{ lookup('env', 'HOME') }}/bin/oc-mirror, mode=0755] *** Wednesday 25 February 2026 20:14:36 +0000 (0:00:08.051) 0:00:14.316 **** Wednesday 25 February 2026 20:14:36 +0000 (0:00:08.051) 0:00:14.316 **** changed: [localhost] =>   changed: true  gid: 1000  group: zuul  mode: '0755'  owner: zuul  path: /home/zuul/bin/oc-mirror  secontext: unconfined_u:object_r:home_bin_t:s0  size: 314996512  state: file  uid: 1000 TASK [download_tools : Get version from sdk_version _sdk_version={{ sdk_version | regex_search('v(.*)', '\1') | first }}] *** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.190) 0:00:14.507 **** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.190) 0:00:14.507 **** ok: [localhost] =>   ansible_facts:  _sdk_version: 1.41.1  changed: false TASK [download_tools : Set operator-sdk file for version < 1.3.0 _operator_sdk_file=operator-sdk-{{ sdk_version }}-x86_64-linux-gnu] *** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.039) 0:00:14.546 **** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.038) 0:00:14.546 **** skipping: [localhost] =>   changed: false  false_condition: _sdk_version is version('1.3.0', 'lt', strict=True )  skip_reason: Conditional result was False TASK [download_tools : Set operator-sdk file for version >= 1.3.0 _operator_sdk_file=operator-sdk_linux_amd64] *** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.026) 0:00:14.572 **** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.026) 0:00:14.572 **** ok: [localhost] =>   ansible_facts:  _operator_sdk_file: operator-sdk_linux_amd64  changed: false TASK [download_tools : Download operator-sdk url=https://github.com/operator-framework/operator-sdk/releases/download/{{ sdk_version }}/{{ _operator_sdk_file }}, dest={{ lookup('env', 'HOME') }}/bin/operator-sdk, mode=0755, force=True, timeout=30] *** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.033) 0:00:14.606 **** Wednesday 25 February 2026 20:14:36 +0000 (0:00:00.033) 0:00:14.605 **** changed: [localhost] =>   changed: true  checksum_dest: null  checksum_src: b29fbaf7b88d11c0fc7b56fc7468cc20bbb00875  dest: /home/zuul/bin/operator-sdk  elapsed: 1  gid: 1000  group: zuul  md5sum: f288351121b669bf298bab2daeb0d4de  mode: '0755'  msg: OK (120534604 bytes)  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 120534604  src: /home/zuul/.ansible/tmp/ansible-moduletmp-1772050476.6592348-q834ueua/tmpsaza0i1i  state: file  status_code: 200  uid: 1000  url: https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1/operator-sdk_linux_amd64 TASK [download_tools : Download and extract kustomize src=https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F{{ kustomize_version }}/kustomize_{{ kustomize_version }}_linux_amd64.tar.gz, dest={{ lookup('env', 'HOME') }}/bin/, remote_src=True] *** Wednesday 25 February 2026 20:14:38 +0000 (0:00:02.313) 0:00:16.919 **** Wednesday 25 February 2026 20:14:38 +0000 (0:00:02.313) 0:00:16.918 **** changed: [localhost] =>   changed: true  dest: /home/zuul/bin/  extract_results:  cmd:  - /usr/bin/gtar  - --extract  - -C  - /home/zuul/bin  - -z  - -f  - /home/zuul/.ansible/tmp/ansible-tmp-1772050478.7464888-31248-186738618867313/kustomize_v5.0.3_linux_amd64c4_0pb7s.tar.gz  err: ''  out: ''  rc: 0  gid: 1000  group: zuul  handler: TgzArchive  mode: '0755'  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 113  src: /home/zuul/.ansible/tmp/ansible-tmp-1772050478.7464888-31248-186738618867313/kustomize_v5.0.3_linux_amd64c4_0pb7s.tar.gz  state: directory  uid: 1000 TASK [download_tools : Download kubectl url=https://dl.k8s.io/release/{{ kubectl_version }}/bin/linux/amd64/kubectl, dest={{ lookup('env', 'HOME') }}/bin/kubectl, mode=0755, timeout=30] *** Wednesday 25 February 2026 20:14:40 +0000 (0:00:01.538) 0:00:18.457 **** Wednesday 25 February 2026 20:14:40 +0000 (0:00:01.538) 0:00:18.457 **** ok: [localhost] =>   changed: false  dest: /home/zuul/bin/kubectl  elapsed: 0  gid: 1000  group: zuul  mode: '0755'  msg: 'HTTP Error 304: Not Modified'  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 197726784  state: hard  status_code: 304  uid: 1000  url: https://dl.k8s.io/release/v1.25.7/bin/linux/amd64/kubectl TASK [download_tools : Download kuttl url=https://github.com/kudobuilder/kuttl/releases/download/v{{ kuttl_version }}/kubectl-kuttl_{{ kuttl_version }}_linux_x86_64, dest={{ lookup('env', 'HOME') }}/bin/kubectl-kuttl, mode=0755, timeout=30] *** Wednesday 25 February 2026 20:14:40 +0000 (0:00:00.318) 0:00:18.776 **** Wednesday 25 February 2026 20:14:40 +0000 (0:00:00.318) 0:00:18.775 **** changed: [localhost] =>   changed: true  checksum_dest: null  checksum_src: b6a31d1f3601af01fcce998d721a8e71df2fddc2  dest: /home/zuul/bin/kubectl-kuttl  elapsed: 0  gid: 1000  group: zuul  md5sum: 3ff8e2099b841f8ef0766ebc22057376  mode: '0755'  msg: OK (39207064 bytes)  owner: zuul  secontext: unconfined_u:object_r:home_bin_t:s0  size: 39207064  src: /home/zuul/.ansible/tmp/ansible-moduletmp-1772050480.774325-m0m6bizw/tmppfemglcx  state: file  status_code: 200  uid: 1000  url: https://github.com/kudobuilder/kuttl/releases/download/v0.20.0/kubectl-kuttl_0.20.0_linux_x86_64 TASK [download_tools : Download chainsaw src=https://github.com/kyverno/chainsaw/releases/download/v{{ chainsaw_version }}/chainsaw_linux_amd64.tar.gz, dest={{ lookup('env', 'HOME') }}/bin/, remote_src=True, extra_opts=['--exclude', 'README.md', '--exclude', 'LICENSE']] *** Wednesday 25 February 2026 20:14:41 +0000 (0:00:00.878) 0:00:19.654 **** Wednesday 25 February 2026 20:14:41 +0000 (0:00:00.878) 0:00:19.654 **** task path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/roles/download_tools/tasks/main.yaml:135 fatal: [localhost]: FAILED! =>   changed: false  msg: 'Failure downloading https://github.com/kyverno/chainsaw/releases/download/v0.2.12/chainsaw_linux_amd64.tar.gz,  Connection failure: Remote end closed connection without response' NO MORE HOSTS LEFT ************************************************************* PLAY RECAP ********************************************************************* localhost : ok=13  changed=7  unreachable=0 failed=1  skipped=2  rescued=0 ignored=0 Wednesday 25 February 2026 20:14:42 +0000 (0:00:00.602) 0:00:20.257 **** =============================================================================== download_tools : Download and extract oc-mirror ------------------------- 8.05s download_tools : Install build dependencies ----------------------------- 4.76s download_tools : Download operator-sdk ---------------------------------- 2.31s download_tools : Download and extract kustomize ------------------------- 1.54s download_tools : Download opm ------------------------------------------- 1.03s download_tools : Download kuttl ----------------------------------------- 0.88s download_tools : Download chainsaw -------------------------------------- 0.60s download_tools : Create $HOME/bin dir ----------------------------------- 0.33s download_tools : Download kubectl --------------------------------------- 0.32s download_tools : Make oc-mirror executable ------------------------------ 0.19s download_tools : Set oc-mirror download url ----------------------------- 0.04s download_tools : Get version from sdk_version --------------------------- 0.04s download_tools : Set opm download url suffix ---------------------------- 0.04s download_tools : Set operator-sdk file for version >= 1.3.0 ------------- 0.03s download_tools : Set opm download url suffix ---------------------------- 0.03s download_tools : Set operator-sdk file for version < 1.3.0 -------------- 0.03s Wednesday 25 February 2026 20:14:42 +0000 (0:00:00.603) 0:00:20.257 **** =============================================================================== download_tools --------------------------------------------------------- 20.22s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ total ------------------------------------------------------------------ 20.22s make: *** [Makefile:197: download_tools] Error 2