[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:29:23.695497Z",
                    "start": "2026-06-08T07:29:20.940410Z"
                },
                "id": "0242ac17-0010-1153-950b-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-08",
                                    "day": "08",
                                    "epoch": "1780903761",
                                    "epoch_int": "1780903761",
                                    "hour": "07",
                                    "iso8601": "2026-06-08T07:29:21Z",
                                    "iso8601_basic": "20260608T072921625106",
                                    "iso8601_basic_short": "20260608T072921",
                                    "iso8601_micro": "2026-06-08T07:29:21.625106Z",
                                    "minute": "29",
                                    "month": "06",
                                    "second": "21",
                                    "time": "07:29:21",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/kube/config",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "PYTHON_SHA256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78",
                                    "PYTHON_VERSION": "3.11.14",
                                    "SSH_AGENT_PID": "2331834",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-JtkB0WJEzOIk/agent.2331833",
                                    "TMP": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "2d72f0692154",
                                "ansible_hostname": "2d72f0692154",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 3.02685546875,
                                    "1m": 7.1865234375,
                                    "5m": 3.6591796875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4136,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 16463,
                                        "used": 15627
                                    },
                                    "real": {
                                        "free": 4136,
                                        "total": 32090,
                                        "used": 27954
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 126556608,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 137384109,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 44612079,
                                        "inode_total": 67108864,
                                        "inode_used": 22496785,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 518375866368,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8197927,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32403653,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16410426,
                                        "inode_total": 20643840,
                                        "inode_used": 4233414,
                                        "mount": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33578708992,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "2d72f0692154",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "8",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "9",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "10",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "11",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "12",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "13",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "14",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "15",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 16,
                                "ansible_processor_nproc": 16,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 16,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/local/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 0,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 44567491,
                                "ansible_user_dir": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work",
                                "ansible_user_gecos": "root",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "root",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 0,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "host",
                                "ansible_virtualization_tech_guest": [],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "kvm",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.022770Z",
                            "start": "2026-06-08T07:29:20.953631Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.048359Z",
                            "start": "2026-06-08T07:29:22.027012Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "0f0/oss/0f0aee392af747028c207616fb398725"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.090435Z",
                            "start": "2026-06-08T07:29:22.060870Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: ansible-collection-kubernetes-molecule-cluster-api\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/ansible-collection-kubernetes/pull/279\nEvent ID: 90fa9f50-630b-11f1-85f8-42517629e8ab\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.138887Z",
                            "start": "2026-06-08T07:29:22.096565Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000009",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: controller\nHostname: np0000178802\nUsername: zuul\nDistro: Debian 13.5\nProvider: yul1\nRegion: ca-ymq-1\nLabel: debian-trixie\nProduct Name: OpenStack Nova\nInterface IP: 199.19.213.151\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.242847Z",
                            "start": "2026-06-08T07:29:22.145004Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:22.765402Z",
                            "start": "2026-06-08T07:29:22.251788Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "4194fd56f2afcf33f4985a53888db492c7a2897d",
                            "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4194fd56f2afcf33f4985a53888db492c7a2897d",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/zuul-info",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/.ansible/tmp/ansible-tmp-1780903762.7995281-84-54974255509574/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4a19c3e4cd6976e0bcbb4a3e973ba78b",
                            "mode": "0644",
                            "owner": "root",
                            "size": 19320,
                            "src": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/.ansible/tmp/ansible-tmp-1780903762.7995281-84-54974255509574/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:23.695497Z",
                            "start": "2026-06-08T07:29:22.769543Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:29:33.265508Z",
                    "start": "2026-06-08T07:29:23.709416Z"
                },
                "id": "0242ac17-0010-1153-950b-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "stat",
                            "changed": false,
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:23.958639Z",
                            "start": "2026-06-08T07:29:23.717627Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:23.996023Z",
                            "start": "2026-06-08T07:29:23.965791Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.866368",
                            "end": "2026-06-08 07:29:26.296862",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-1153-950b-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:29:24.430494",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa.pub\nThe key fingerprint is:\nSHA256:d4+YrsbAt7AW9WnSR8pX2Apm6eVFasRtxABxa+OiuBs zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|          o+o=.  |\n|           .o.=  |\n|           o+*   |\n|        . =o*.+  |\n|     . .SBoOo+   |\n|      =.ooO==o   |\n|      EB.+oo. .  |\n|      oo+.       |\n|     .oo...      |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:d4+YrsbAt7AW9WnSR8pX2Apm6eVFasRtxABxa+OiuBs zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|          o+o=.  |",
                                "|           .o.=  |",
                                "|           o+*   |",
                                "|        . =o*.+  |",
                                "|     . .SBoOo+   |",
                                "|      =.ooO==o   |",
                                "|      EB.+oo. .  |",
                                "|      oo+.       |",
                                "|     .oo...      |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-1153-950b-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:26.345378Z",
                            "start": "2026-06-08T07:29:24.025137Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:26.383014Z",
                            "start": "2026-06-08T07:29:26.351050Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:26.426603Z",
                            "start": "2026-06-08T07:29:26.401135Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeSXi5DikqTEme4euD7vrGPAZNo4NShGYAP5rdwlmuLfnTiELf6gNOWJOdtUZnN5X8tPP0OiXpfeGV6vLikHQkGyflbAY7gtDmRKjhTPOxlgFOuV8I7yCpd1MtStQuONOQBOQ57B/UbtvxWekTdrZ8JlB56/fhkNHm75WK1cZDhW+JUucL4MAPASiiz5rrdT17Py6AunqJvYFIhGo7LIpuQfWlcr4jLRPNRQ5NIa5TDT2BOPSGzecBGdPuTijtMtZT3RGIByVW4UdrQr4v/GnqJOheZBB/hF7ureI/IeI34TgfimoxlhzVNLA66+OEgoglO6HfPERbXNIcBgTb21M8Kegh48fPye46yO4QnXirLiC9OGCQ6Qrcp3t+TRQklou20aJUcNYJoGwyLn+DT2GdPtUxq3xgICXWZVK6836iTGs3QilW99urtQDjMH7GQ1fIS9YSYzNPhead7e9Qixb0s1f5DGc52+r3uhY5bQOu4hI6RxLAHNZDlTK0xyHft1U= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeSXi5DikqTEme4euD7vrGPAZNo4NShGYAP5rdwlmuLfnTiELf6gNOWJOdtUZnN5X8tPP0OiXpfeGV6vLikHQkGyflbAY7gtDmRKjhTPOxlgFOuV8I7yCpd1MtStQuONOQBOQ57B/UbtvxWekTdrZ8JlB56/fhkNHm75WK1cZDhW+JUucL4MAPASiiz5rrdT17Py6AunqJvYFIhGo7LIpuQfWlcr4jLRPNRQ5NIa5TDT2BOPSGzecBGdPuTijtMtZT3RGIByVW4UdrQr4v/GnqJOheZBB/hF7ureI/IeI34TgfimoxlhzVNLA66+OEgoglO6HfPERbXNIcBgTb21M8Kegh48fPye46yO4QnXirLiC9OGCQ6Qrcp3t+TRQklou20aJUcNYJoGwyLn+DT2GdPtUxq3xgICXWZVK6836iTGs3QilW99urtQDjMH7GQ1fIS9YSYzNPhead7e9Qixb0s1f5DGc52+r3uhY5bQOu4hI6RxLAHNZDlTK0xyHft1U= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:27.076935Z",
                            "start": "2026-06-08T07:29:26.435185Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:27.301236Z",
                            "start": "2026-06-08T07:29:27.082382Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "2e9f9ca98f9cab0f56bc0821302efc7918eec8bd",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0f0aee392af747028c207616fb398725_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "2e9f9ca98f9cab0f56bc0821302efc7918eec8bd",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 384,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903767.3495166-190-2819842114577/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "868633e5e6e5b641a01c34ec182e6f62",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903767.3495166-190-2819842114577/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:27.856364Z",
                            "start": "2026-06-08T07:29:27.306741Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "b8311a2c111407f6184e420591b5d4cf8e5a1551",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0f0aee392af747028c207616fb398725_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b8311a2c111407f6184e420591b5d4cf8e5a1551",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa.pub",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903767.922997-200-15898671372002/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "77315a0d230d3bce5d87eb5fd7ab48e5",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903767.922997-200-15898671372002/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:28.410985Z",
                            "start": "2026-06-08T07:29:27.861057Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:28.442637Z",
                            "start": "2026-06-08T07:29:28.416411Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:28.858082Z",
                            "start": "2026-06-08T07:29:28.447502Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa"
                            ],
                            "delta": "0:00:00.013999",
                            "end": "2026-06-08 07:29:29.120520",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-1153-950b-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:29:29.106521",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/0f0aee392af747028c207616fb398725_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-1153-950b-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:29.167333Z",
                            "start": "2026-06-08T07:29:28.868947Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:29.521587Z",
                            "start": "2026-06-08T07:29:29.172567Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:29.554963Z",
                            "start": "2026-06-08T07:29:29.527293Z"
                        },
                        "id": "0242ac17-0010-1153-950b-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:29.942327Z",
                            "start": "2026-06-08T07:29:29.568173Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:32.064357Z",
                            "start": "2026-06-08T07:29:29.948655Z"
                        },
                        "id": "0242ac17-0010-1153-950b-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:32.666260Z",
                            "start": "2026-06-08T07:29:32.075682Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1153-950b-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:33.265508Z",
                            "start": "2026-06-08T07:29:32.680347Z"
                        },
                        "id": "0242ac17-0010-1153-950b-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:29:46.168078Z",
                    "start": "2026-06-08T07:29:34.151746Z"
                },
                "id": "0242ac17-0010-8506-d070-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.unarchive",
                            "changed": true,
                            "dest": "/usr/local/bin",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local/bin",
                                    "-z",
                                    "--show-transformed-names",
                                    "--strip-components=1",
                                    "-f",
                                    "/home/zuul/.ansible/tmp/ansible-tmp-1780903774.2039921-5-31436390762036/uv-x86_64-unknown-linux-gnu19qr7iae.tar.gz"
                                ],
                                "err": "",
                                "out": "",
                                "rc": 0
                            },
                            "gid": 0,
                            "group": "root",
                            "handler": "TgzArchive",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "copy": true,
                                    "creates": "/usr/local/bin/uv",
                                    "decrypt": true,
                                    "dest": "/usr/local/bin",
                                    "exclude": [],
                                    "extra_opts": [
                                        "--strip-components=1"
                                    ],
                                    "group": null,
                                    "include": [],
                                    "io_buffer_size": 65536,
                                    "keep_newer": false,
                                    "list_files": false,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "https://github.com/astral-sh/uv/releases/download/0.8.13/uv-x86_64-unknown-linux-gnu.tar.gz",
                                    "unsafe_writes": false,
                                    "validate_certs": true
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "size": 4096,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903774.2039921-5-31436390762036/uv-x86_64-unknown-linux-gnu19qr7iae.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8506-d070-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:45.223018Z",
                            "start": "2026-06-08T07:29:34.163216Z"
                        },
                        "id": "0242ac17-0010-8506-d070-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.013424",
                            "end": "2026-06-08 07:29:45.618132",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-8506-d070-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:29:45.604708",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-8506-d070-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8506-d070-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:45.756936Z",
                            "start": "2026-06-08T07:29:45.241738Z"
                        },
                        "id": "0242ac17-0010-8506-d070-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": false,
                            "checkouts": [],
                            "installed": [],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "279",
                                            "change_message": "chore(cluster_api): add CAPI 1.13.2 support\n\n## Summary\n- Add local provider manifests for Cluster API v1.13.2.\n- Add local provider manifests for Cluster API Provider OpenStack v0.14.4.\n- Add clusterctl v1.13.2 checksums for linux/amd64 and linux/arm64.\n\n## Testing\n- Parsed the new provider YAML files with Ruby YAML.load_stream.\n- Computed clusterctl checksums from the official v1.13.2 release binaries.\n\nDepends-On: https://github.com/vexxhost/atmosphere/pull/4002",
                                            "change_url": "https://github.com/vexxhost/ansible-collection-kubernetes/pull/279",
                                            "commit_id": "0b1c94fe4cab65bee052b741e6650a0b884073e6",
                                            "patchset": "0b1c94fe4cab65bee052b741e6650a0b884073e6",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                                "name": "vexxhost/ansible-collection-kubernetes",
                                                "short_name": "ansible-collection-kubernetes",
                                                "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                            },
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "4002",
                                            "change_message": "chore(magnum): upgrade Cluster API components\n\n## Summary\n- Upgrade default Cluster API images and clusterctl metadata to v1.13.2.\n- Upgrade Cluster API Provider OpenStack to v0.14.4.\n- Add a reno upgrade note.\n\n## Testing\n- YAML parse for changed files\n- vale releasenotes/notes/upgrade-capi-capo-a585d8cf261b8d2a.yaml\n- reno report",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4002",
                                            "commit_id": "98aee8dcb1c3df2940eaad73f5a46a2f65344b4d",
                                            "patchset": "98aee8dcb1c3df2940eaad73f5a46a2f65344b4d",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere",
                                                "name": "vexxhost/atmosphere",
                                                "short_name": "atmosphere",
                                                "src_dir": "src/github.com/vexxhost/atmosphere"
                                            },
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "279",
                                            "change_message": "chore(cluster_api): add CAPI 1.13.2 support\n\n## Summary\n- Add local provider manifests for Cluster API v1.13.2.\n- Add local provider manifests for Cluster API Provider OpenStack v0.14.4.\n- Add clusterctl v1.13.2 checksums for linux/amd64 and linux/arm64.\n\n## Testing\n- Parsed the new provider YAML files with Ruby YAML.load_stream.\n- Computed clusterctl checksums from the official v1.13.2 release binaries.\n\nDepends-On: https://github.com/vexxhost/atmosphere/pull/4002",
                                            "change_url": "https://github.com/vexxhost/ansible-collection-kubernetes/pull/279",
                                            "commit_id": "0b1c94fe4cab65bee052b741e6650a0b884073e6",
                                            "patchset": "0b1c94fe4cab65bee052b741e6650a0b884073e6",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                                "name": "vexxhost/ansible-collection-kubernetes",
                                                "short_name": "ansible-collection-kubernetes",
                                                "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "97f67c66e827bdecee2df9335674d2e6964c7842",
                                            "name": "vexxhost/ansible-collection-kubernetes",
                                            "required": false,
                                            "short_name": "ansible-collection-kubernetes",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "98aee8dcb1c3df2940eaad73f5a46a2f65344b4d",
                                            "name": "vexxhost/atmosphere",
                                            "required": false,
                                            "short_name": "atmosphere",
                                            "src_dir": "src/github.com/vexxhost/atmosphere"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere",
                                "Skipping ansible.posix: no checked-out sibling",
                                "Skipping community.crypto: no checked-out sibling",
                                "Skipping community.general: no checked-out sibling",
                                "Skipping kubernetes.core: no checked-out sibling",
                                "Skipping vexxhost.containers: no checked-out sibling"
                            ],
                            "msg": "Sibling collection vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere\nSkipping ansible.posix: no checked-out sibling\nSkipping community.crypto: no checked-out sibling\nSkipping community.general: no checked-out sibling\nSkipping kubernetes.core: no checked-out sibling\nSkipping vexxhost.containers: no checked-out sibling"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:46.168078Z",
                            "start": "2026-06-08T07:29:45.768160Z"
                        },
                        "id": "0242ac17-0010-8506-d070-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/ansible-collection-kubernetes/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:29:53.764292Z",
                    "start": "2026-06-08T07:29:47.027866Z"
                },
                "id": "0242ac17-0010-7379-c328-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1780903788,
                            "cache_updated": false,
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "only_upgrade": false,
                                    "package": null,
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:51.717461Z",
                            "start": "2026-06-08T07:29:47.038766Z"
                        },
                        "id": "0242ac17-0010-7379-c328-000000000004",
                        "name": "Update apt cache"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.service",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"RedHat\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:51.751068Z",
                            "start": "2026-06-08T07:29:51.723882Z"
                        },
                        "id": "0242ac17-0010-7379-c328-000000000005",
                        "name": "Disable firewalld"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.package",
                            "cache_update_time": 1780903788,
                            "cache_updated": false,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 431 kB of archives.\nAfter this operation, 1265 kB of additional disk space will be used.\nGet:1 http://deb.debian.org/debian trixie/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB]\nGet:2 http://deb.debian.org/debian trixie/main amd64 libjq1 amd64 1.7.1-6+deb13u2 [164 kB]\nGet:3 http://deb.debian.org/debian trixie/main amd64 jq amd64 1.7.1-6+deb13u2 [77.8 kB]\nFetched 431 kB in 0s (14.8 MB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 21209 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.9-1+b1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.9-1+b1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.7.1-6+deb13u2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.7.1-6+deb13u2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.7.1-6+deb13u2_amd64.deb ...\r\nUnpacking jq (1.7.1-6+deb13u2) ...\r\nSetting up libonig5:amd64 (6.9.9-1+b1) ...\r\nSetting up libjq1:amd64 (1.7.1-6+deb13u2) ...\r\nSetting up jq (1.7.1-6+deb13u2) ...\r\nProcessing triggers for libc-bin (2.41-12+deb13u3) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 431 kB of archives.",
                                "After this operation, 1265 kB of additional disk space will be used.",
                                "Get:1 http://deb.debian.org/debian trixie/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB]",
                                "Get:2 http://deb.debian.org/debian trixie/main amd64 libjq1 amd64 1.7.1-6+deb13u2 [164 kB]",
                                "Get:3 http://deb.debian.org/debian trixie/main amd64 jq amd64 1.7.1-6+deb13u2 [77.8 kB]",
                                "Fetched 431 kB in 0s (14.8 MB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 21209 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.9-1+b1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.9-1+b1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.7.1-6+deb13u2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.7.1-6+deb13u2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.7.1-6+deb13u2_amd64.deb ...",
                                "Unpacking jq (1.7.1-6+deb13u2) ...",
                                "Setting up libonig5:amd64 (6.9.9-1+b1) ...",
                                "Setting up libjq1:amd64 (1.7.1-6+deb13u2) ...",
                                "Setting up jq (1.7.1-6+deb13u2) ...",
                                "Processing triggers for libc-bin (2.41-12+deb13u3) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:53.764292Z",
                            "start": "2026-06-08T07:29:51.758325Z"
                        },
                        "id": "0242ac17-0010-7379-c328-000000000006",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:32:06.610824Z",
                    "start": "2026-06-08T07:29:54.618218Z"
                },
                "id": "0242ac17-0010-8096-f73e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "4194fd56f2afcf33f4985a53888db492c7a2897d",
                            "dest": "src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4194fd56f2afcf33f4985a53888db492c7a2897d",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903794.6767085-5-99520278234339/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4a19c3e4cd6976e0bcbb4a3e973ba78b",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 19320,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1780903794.6767085-5-99520278234339/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:55.584308Z",
                            "start": "2026-06-08T07:29:54.629510Z"
                        },
                        "id": "0242ac17-0010-8096-f73e-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:29:55.936949Z",
                            "start": "2026-06-08T07:29:55.588852Z"
                        },
                        "id": "0242ac17-0010-8096-f73e-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "cluster-api"
                            ],
                            "delta": "0:02:09.994101",
                            "end": "2026-06-08 07:32:06.315797",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s cluster-api",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-8096-f73e-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-06-08 07:29:56.321696",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.13.5 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nDownloading pygments (1.2MiB)\nDownloading cryptography (4.3MiB)\nDownloading ansible-core (2.3MiB)\n Downloading cryptography\n Downloading pygments\n Downloading ansible-core\nInstalled 36 packages in 43ms\nINFO     Collection 'vexxhost.kubernetes' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nCRITICAL 'extensions/molecule/default/molecule.yml' glob failed.  Exiting.\nINFO     default scenario not found, disabling shared state.\nINFO     [cluster-api > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [cluster-api > prerun] Performing prerun with role_name_check=0...\nINFO     [cluster-api > dependency] Executing\nWARNING  [cluster-api > dependency] Missing roles requirements file: requirements.yml\nWARNING  [cluster-api > dependency] Missing collections requirements file: collections.yml\nWARNING  [cluster-api > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [cluster-api > cleanup] Executing\nWARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > destroy] Executing\nWARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.\nINFO     [cluster-api > destroy] Executed: Successful\nINFO     [cluster-api > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/converge.yml\nINFO     [cluster-api > syntax] Executed: Successful\nINFO     [cluster-api > create] Executing\nWARNING  [cluster-api > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 08 June 2026  07:30:18 +0000 (0:00:00.031)       0:00:00.031 ***********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nMonday 08 June 2026  07:30:19 +0000 (0:00:01.185)       0:00:01.216 ***********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 08 June 2026  07:30:21 +0000 (0:00:01.379)       0:00:02.596 ***********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nMonday 08 June 2026  07:30:21 +0000 (0:00:00.797)       0:00:03.393 ***********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nMonday 08 June 2026  07:30:22 +0000 (0:00:00.397)       0:00:03.791 ***********\nok: [controller] => (item=/etc/keepalived/keepalived.conf)\nok: [controller] => (item=/etc/keepalived/check_apiserver.sh)\nok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [controller] => (item=/etc/haproxy/haproxy.cfg)\nok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nMonday 08 June 2026  07:30:23 +0000 (0:00:01.344)       0:00:05.135 ***********\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/controller-manager.conf does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/scheduler.conf does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}\n...ignoring\n\nTASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\nMonday 08 June 2026  07:30:24 +0000 (0:00:00.911)       0:00:06.047 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nMonday 08 June 2026  07:30:24 +0000 (0:00:00.407)       0:00:06.454 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nMonday 08 June 2026  07:30:25 +0000 (0:00:00.301)       0:00:06.756 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nMonday 08 June 2026  07:30:25 +0000 (0:00:00.037)       0:00:06.793 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nMonday 08 June 2026  07:30:25 +0000 (0:00:00.047)       0:00:06.841 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nMonday 08 June 2026  07:30:26 +0000 (0:00:00.946)       0:00:07.787 ***********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nMonday 08 June 2026  07:30:26 +0000 (0:00:00.309)       0:00:08.097 ***********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 08 June 2026  07:30:26 +0000 (0:00:00.052)       0:00:08.150 ***********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 08 June 2026  07:30:27 +0000 (0:00:00.811)       0:00:08.961 ***********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 08 June 2026  07:30:27 +0000 (0:00:00.407)       0:00:09.368 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 08 June 2026  07:30:27 +0000 (0:00:00.040)       0:00:09.408 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 08 June 2026  07:30:28 +0000 (0:00:00.307)       0:00:09.716 ***********\nok: [controller] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 08 June 2026  07:30:28 +0000 (0:00:00.098)       0:00:09.814 ***********\nFAILED - RETRYING: [controller]: Download item (4 retries left).\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 08 June 2026  07:30:44 +0000 (0:00:16.180)       0:00:25.994 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 08 June 2026  07:30:44 +0000 (0:00:00.047)       0:00:26.041 ***********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 08 June 2026  07:30:44 +0000 (0:00:00.335)       0:00:26.377 ***********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 08 June 2026  07:30:45 +0000 (0:00:00.914)       0:00:27.291 ***********\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 08 June 2026  07:30:45 +0000 (0:00:00.078)       0:00:27.370 ***********\nFAILED - RETRYING: [controller]: Download item (4 retries left).\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 08 June 2026  07:31:02 +0000 (0:00:16.276)       0:00:43.646 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 08 June 2026  07:31:06 +0000 (0:00:03.998)       0:00:47.645 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 08 June 2026  07:31:06 +0000 (0:00:00.033)       0:00:47.679 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 08 June 2026  07:31:06 +0000 (0:00:00.038)       0:00:47.717 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 08 June 2026  07:31:06 +0000 (0:00:00.030)       0:00:47.748 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 08 June 2026  07:31:11 +0000 (0:00:05.248)       0:00:52.997 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 08 June 2026  07:31:12 +0000 (0:00:00.669)       0:00:53.667 ***********\nchanged: [controller] => (item={'path': '/etc/containerd'})\nchanged: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 08 June 2026  07:31:13 +0000 (0:00:01.470)       0:00:55.137 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 08 June 2026  07:31:14 +0000 (0:00:00.803)       0:00:55.940 ***********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nMonday 08 June 2026  07:31:14 +0000 (0:00:00.008)       0:00:55.949 ***********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nMonday 08 June 2026  07:31:15 +0000 (0:00:00.826)       0:00:56.775 ***********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 08 June 2026  07:31:17 +0000 (0:00:01.838)       0:00:58.614 ***********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nMonday 08 June 2026  07:31:17 +0000 (0:00:00.765)       0:00:59.379 ***********\n[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000178802's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3\n\n14\n15 ---\n16 - name: Retrieve the \"kubeadm-config\" ConfigMap\n     ^ column 3\n\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000178802's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.679)       0:01:00.058 ***********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.037)       0:01:00.096 ***********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.036)       0:01:00.132 ***********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.035)       0:01:00.168 ***********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.032)       0:01:00.201 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.045)       0:01:00.247 ***********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 08 June 2026  07:31:18 +0000 (0:00:00.305)       0:01:00.552 ***********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 08 June 2026  07:31:19 +0000 (0:00:00.044)       0:01:00.596 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 08 June 2026  07:31:27 +0000 (0:00:08.382)       0:01:08.979 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 08 June 2026  07:31:27 +0000 (0:00:00.049)       0:01:09.029 ***********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 08 June 2026  07:31:27 +0000 (0:00:00.312)       0:01:09.342 ***********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 08 June 2026  07:31:27 +0000 (0:00:00.053)       0:01:09.395 ***********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 08 June 2026  07:31:28 +0000 (0:00:01.134)       0:01:10.529 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 08 June 2026  07:31:29 +0000 (0:00:00.049)       0:01:10.579 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 08 June 2026  07:31:29 +0000 (0:00:00.035)       0:01:10.615 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 08 June 2026  07:31:29 +0000 (0:00:00.039)       0:01:10.654 ***********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 08 June 2026  07:31:29 +0000 (0:00:00.036)       0:01:10.691 ***********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 08 June 2026  07:31:30 +0000 (0:00:01.034)       0:01:11.725 ***********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 08 June 2026  07:31:30 +0000 (0:00:00.682)       0:01:12.407 ***********\nok: [controller] => (item={'path': '/etc/containerd'})\nok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 08 June 2026  07:31:32 +0000 (0:00:01.438)       0:01:13.846 ***********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 08 June 2026  07:31:33 +0000 (0:00:00.765)       0:01:14.611 ***********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 08 June 2026  07:31:33 +0000 (0:00:00.004)       0:01:14.616 ***********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 08 June 2026  07:31:33 +0000 (0:00:00.456)       0:01:15.072 ***********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 08 June 2026  07:31:33 +0000 (0:00:00.297)       0:01:15.370 ***********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 08 June 2026  07:31:33 +0000 (0:00:00.067)       0:01:15.437 ***********\n[ERROR]: Task failed: Module failed: Request failed\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/download_artifact/tasks/main.yml:19:3\n\n17     msg: \"{{ download_artifact_url }}\"\n18\n19 - name: Download item\n     ^ column 3\n\nfatal: [controller]: FAILED! => {\"attempts\": 4, \"censored\": \"the output has been hidden due to the fact that 'no_log: true' was specified for this result\", \"changed\": false}\nFAILED - RETRYING: [controller]: Download item (4 retries left).\nFAILED - RETRYING: [controller]: Download item (3 retries left).\nFAILED - RETRYING: [controller]: Download item (2 retries left).\nFAILED - RETRYING: [controller]: Download item (1 retries left).\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=43   changed=13   unreachable=0    failed=1    skipped=15   rescued=0    ignored=2\n\n\nTASKS RECAP ********************************************************************\nMonday 08 June 2026  07:32:06 +0000 (0:00:32.133)       0:01:47.571 ***********\n===============================================================================\nvexxhost.containers.download_artifact : Download item ------------------ 32.13s\nvexxhost.containers.download_artifact : Download item ------------------ 16.28s\nvexxhost.containers.download_artifact : Download item ------------------ 16.18s\nvexxhost.containers.download_artifact : Download item ------------------- 8.38s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.25s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.00s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.84s\nvexxhost.containers.containerd : Create folders for configuration ------- 1.47s\nvexxhost.containers.containerd : Create folders for configuration ------- 1.44s\nInstall Debian packages ------------------------------------------------- 1.38s\nvexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.34s\nGathering Facts --------------------------------------------------------- 1.19s\nvexxhost.containers.download_artifact : Download item ------------------- 1.13s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 1.03s\nvexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.95s\nvexxhost.containers.package : Update state for tar ---------------------- 0.91s\nvexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.91s\nvexxhost.containers.containerd : Restart containerd --------------------- 0.83s\nGathering Facts --------------------------------------------------------- 0.81s\nvexxhost.containers.containerd : Create containerd config file ---------- 0.80s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.Bs5j.cluster-api/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/prepare.yml\nERROR    [cluster-api > prepare] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.Bs5j.cluster-api/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/prepare.yml",
                            "stdout_lines": [
                                "Using CPython 3.13.5 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "Downloading pygments (1.2MiB)",
                                "Downloading cryptography (4.3MiB)",
                                "Downloading ansible-core (2.3MiB)",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading ansible-core",
                                "Installed 36 packages in 43ms",
                                "INFO     Collection 'vexxhost.kubernetes' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "CRITICAL 'extensions/molecule/default/molecule.yml' glob failed.  Exiting.",
                                "INFO     default scenario not found, disabling shared state.",
                                "INFO     [cluster-api > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [cluster-api > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [cluster-api > dependency] Executing",
                                "WARNING  [cluster-api > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [cluster-api > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [cluster-api > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > cleanup] Executing",
                                "WARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > destroy] Executing",
                                "WARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [cluster-api > destroy] Executed: Successful",
                                "INFO     [cluster-api > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/converge.yml",
                                "INFO     [cluster-api > syntax] Executed: Successful",
                                "INFO     [cluster-api > create] Executing",
                                "WARNING  [cluster-api > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 08 June 2026  07:30:18 +0000 (0:00:00.031)       0:00:00.031 ***********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Monday 08 June 2026  07:30:19 +0000 (0:00:01.185)       0:00:01.216 ***********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 08 June 2026  07:30:21 +0000 (0:00:01.379)       0:00:02.596 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Monday 08 June 2026  07:30:21 +0000 (0:00:00.797)       0:00:03.393 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Monday 08 June 2026  07:30:22 +0000 (0:00:00.397)       0:00:03.791 ***********",
                                "ok: [controller] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [controller] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [controller] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Monday 08 June 2026  07:30:23 +0000 (0:00:01.344)       0:00:05.135 ***********",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/controller-manager.conf does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/scheduler.conf does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "Monday 08 June 2026  07:30:24 +0000 (0:00:00.911)       0:00:06.047 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Monday 08 June 2026  07:30:24 +0000 (0:00:00.407)       0:00:06.454 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Monday 08 June 2026  07:30:25 +0000 (0:00:00.301)       0:00:06.756 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Monday 08 June 2026  07:30:25 +0000 (0:00:00.037)       0:00:06.793 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Monday 08 June 2026  07:30:25 +0000 (0:00:00.047)       0:00:06.841 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Monday 08 June 2026  07:30:26 +0000 (0:00:00.946)       0:00:07.787 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Monday 08 June 2026  07:30:26 +0000 (0:00:00.309)       0:00:08.097 ***********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 08 June 2026  07:30:26 +0000 (0:00:00.052)       0:00:08.150 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 08 June 2026  07:30:27 +0000 (0:00:00.811)       0:00:08.961 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 08 June 2026  07:30:27 +0000 (0:00:00.407)       0:00:09.368 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 08 June 2026  07:30:27 +0000 (0:00:00.040)       0:00:09.408 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 08 June 2026  07:30:28 +0000 (0:00:00.307)       0:00:09.716 ***********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 08 June 2026  07:30:28 +0000 (0:00:00.098)       0:00:09.814 ***********",
                                "FAILED - RETRYING: [controller]: Download item (4 retries left).",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 08 June 2026  07:30:44 +0000 (0:00:16.180)       0:00:25.994 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 08 June 2026  07:30:44 +0000 (0:00:00.047)       0:00:26.041 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 08 June 2026  07:30:44 +0000 (0:00:00.335)       0:00:26.377 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 08 June 2026  07:30:45 +0000 (0:00:00.914)       0:00:27.291 ***********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 08 June 2026  07:30:45 +0000 (0:00:00.078)       0:00:27.370 ***********",
                                "FAILED - RETRYING: [controller]: Download item (4 retries left).",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 08 June 2026  07:31:02 +0000 (0:00:16.276)       0:00:43.646 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 08 June 2026  07:31:06 +0000 (0:00:03.998)       0:00:47.645 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 08 June 2026  07:31:06 +0000 (0:00:00.033)       0:00:47.679 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 08 June 2026  07:31:06 +0000 (0:00:00.038)       0:00:47.717 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 08 June 2026  07:31:06 +0000 (0:00:00.030)       0:00:47.748 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 08 June 2026  07:31:11 +0000 (0:00:05.248)       0:00:52.997 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 08 June 2026  07:31:12 +0000 (0:00:00.669)       0:00:53.667 ***********",
                                "changed: [controller] => (item={'path': '/etc/containerd'})",
                                "changed: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 08 June 2026  07:31:13 +0000 (0:00:01.470)       0:00:55.137 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 08 June 2026  07:31:14 +0000 (0:00:00.803)       0:00:55.940 ***********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Monday 08 June 2026  07:31:14 +0000 (0:00:00.008)       0:00:55.949 ***********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Monday 08 June 2026  07:31:15 +0000 (0:00:00.826)       0:00:56.775 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 08 June 2026  07:31:17 +0000 (0:00:01.838)       0:00:58.614 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Monday 08 June 2026  07:31:17 +0000 (0:00:00.765)       0:00:59.379 ***********",
                                "[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000178802's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3",
                                "",
                                "14",
                                "15 ---",
                                "16 - name: Retrieve the \"kubeadm-config\" ConfigMap",
                                "     ^ column 3",
                                "",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000178802's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.679)       0:01:00.058 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.037)       0:01:00.096 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.036)       0:01:00.132 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.035)       0:01:00.168 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.032)       0:01:00.201 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.045)       0:01:00.247 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 08 June 2026  07:31:18 +0000 (0:00:00.305)       0:01:00.552 ***********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 08 June 2026  07:31:19 +0000 (0:00:00.044)       0:01:00.596 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 08 June 2026  07:31:27 +0000 (0:00:08.382)       0:01:08.979 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 08 June 2026  07:31:27 +0000 (0:00:00.049)       0:01:09.029 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 08 June 2026  07:31:27 +0000 (0:00:00.312)       0:01:09.342 ***********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 08 June 2026  07:31:27 +0000 (0:00:00.053)       0:01:09.395 ***********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 08 June 2026  07:31:28 +0000 (0:00:01.134)       0:01:10.529 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 08 June 2026  07:31:29 +0000 (0:00:00.049)       0:01:10.579 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 08 June 2026  07:31:29 +0000 (0:00:00.035)       0:01:10.615 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 08 June 2026  07:31:29 +0000 (0:00:00.039)       0:01:10.654 ***********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 08 June 2026  07:31:29 +0000 (0:00:00.036)       0:01:10.691 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 08 June 2026  07:31:30 +0000 (0:00:01.034)       0:01:11.725 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 08 June 2026  07:31:30 +0000 (0:00:00.682)       0:01:12.407 ***********",
                                "ok: [controller] => (item={'path': '/etc/containerd'})",
                                "ok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 08 June 2026  07:31:32 +0000 (0:00:01.438)       0:01:13.846 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 08 June 2026  07:31:33 +0000 (0:00:00.765)       0:01:14.611 ***********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 08 June 2026  07:31:33 +0000 (0:00:00.004)       0:01:14.616 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 08 June 2026  07:31:33 +0000 (0:00:00.456)       0:01:15.072 ***********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 08 June 2026  07:31:33 +0000 (0:00:00.297)       0:01:15.370 ***********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 08 June 2026  07:31:33 +0000 (0:00:00.067)       0:01:15.437 ***********",
                                "[ERROR]: Task failed: Module failed: Request failed",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/download_artifact/tasks/main.yml:19:3",
                                "",
                                "17     msg: \"{{ download_artifact_url }}\"",
                                "18",
                                "19 - name: Download item",
                                "     ^ column 3",
                                "",
                                "fatal: [controller]: FAILED! => {\"attempts\": 4, \"censored\": \"the output has been hidden due to the fact that 'no_log: true' was specified for this result\", \"changed\": false}",
                                "FAILED - RETRYING: [controller]: Download item (4 retries left).",
                                "FAILED - RETRYING: [controller]: Download item (3 retries left).",
                                "FAILED - RETRYING: [controller]: Download item (2 retries left).",
                                "FAILED - RETRYING: [controller]: Download item (1 retries left).",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=43   changed=13   unreachable=0    failed=1    skipped=15   rescued=0    ignored=2",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Monday 08 June 2026  07:32:06 +0000 (0:00:32.133)       0:01:47.571 ***********",
                                "===============================================================================",
                                "vexxhost.containers.download_artifact : Download item ------------------ 32.13s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 16.28s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 16.18s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 8.38s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.25s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.00s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.84s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 1.47s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 1.44s",
                                "Install Debian packages ------------------------------------------------- 1.38s",
                                "vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.34s",
                                "Gathering Facts --------------------------------------------------------- 1.19s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.13s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 1.03s",
                                "vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.95s",
                                "vexxhost.containers.package : Update state for tar ---------------------- 0.91s",
                                "vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.91s",
                                "vexxhost.containers.containerd : Restart containerd --------------------- 0.83s",
                                "Gathering Facts --------------------------------------------------------- 0.81s",
                                "vexxhost.containers.containerd : Create containerd config file ---------- 0.80s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.Bs5j.cluster-api/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/prepare.yml",
                                "ERROR    [cluster-api > prepare] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.Bs5j.cluster-api/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/prepare.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-8096-f73e-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:06.610824Z",
                            "start": "2026-06-08T07:29:55.960502Z"
                        },
                        "id": "0242ac17-0010-8096-f73e-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/ansible-collection-kubernetes/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:32:13.340682Z",
                    "start": "2026-06-08T07:32:07.387861Z"
                },
                "id": "0242ac17-0010-995f-9d85-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 40,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000007",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:07.787746Z",
                            "start": "2026-06-08T07:32:07.399064Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000009",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.222560",
                            "end": "2026-06-08 07:32:08.388570",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-995f-9d85-00000000000a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:32:08.166010",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0608 07:32:08.239510    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.240615    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.241448    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.242638    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.243436    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.243566    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.244304    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0608 07:32:08.245535    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.246189    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.247747    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0608 07:32:08.309760    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.310007    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.315002    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.316072    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.316897    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0608 07:32:08.325742    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.326664    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0608 07:32:08.328347    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.329367    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.330147    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0608 07:32:08.376474    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.377514    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.378526    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.379335    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:08.381421    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0608 07:32:08.239510    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.240615    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.241448    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.242638    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.243436    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.243566    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.244304    2878 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0608 07:32:08.245535    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.246189    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.247747    2882 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0608 07:32:08.309760    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.310007    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.315002    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.316072    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.316897    2907 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0608 07:32:08.325742    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.326664    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0608 07:32:08.328347    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.329367    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.330147    2905 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0608 07:32:08.376474    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.377514    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.378526    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.379335    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:08.381421    2926 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0010-995f-9d85-00000000000a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000007",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:08.824461Z",
                            "start": "2026-06-08T07:32:07.807033Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000000a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 40,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000007",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:09.085886Z",
                            "start": "2026-06-08T07:32:08.830558Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000000b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.078378",
                            "end": "2026-06-08 07:32:09.395844",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-995f-9d85-00000000000c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:32:09.317466",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0608 07:32:09.381382    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:09.382033    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:09.383943    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:09.384704    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:09.386808    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "E0608 07:32:09.381382    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:09.382033    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:09.383943    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:09.384704    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:09.386808    2959 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0010-995f-9d85-00000000000c-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000007",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:09.623049Z",
                            "start": "2026-06-08T07:32:09.106118Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000000c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/tmp/logs/objects /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.151:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller\ncd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000007",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:10.271801Z",
                            "start": "2026-06-08T07:32:09.630344Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000000d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 40,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-00000000000f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:10.520992Z",
                            "start": "2026-06-08T07:32:10.280175Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000011",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 40,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-00000000000f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:10.770918Z",
                            "start": "2026-06-08T07:32:10.524590Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000012",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:00.077346",
                            "end": "2026-06-08 07:32:11.101582",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-995f-9d85-000000000013-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:32:11.024236",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0608 07:32:11.089097    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:11.090025    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:11.091863    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:11.092411    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:11.094104    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0608 07:32:11.089097    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:11.090025    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:11.091863    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:11.092411    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:11.094104    3011 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0010-995f-9d85-000000000013-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-00000000000f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:11.307271Z",
                            "start": "2026-06-08T07:32:10.790030Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000013",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/tmp/logs/pod-logs /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.151:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-00000000000f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:11.818847Z",
                            "start": "2026-06-08T07:32:11.312580Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000014",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 40,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 40,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000016",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:12.282201Z",
                            "start": "2026-06-08T07:32:11.827183Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-000000000018",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:00.075602",
                            "end": "2026-06-08 07:32:12.590982",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-995f-9d85-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 07:32:12.515380",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0608 07:32:12.578614    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:12.579622    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:12.581190    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:12.581657    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nE0608 07:32:12.583221    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0608 07:32:12.578614    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:12.579622    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:12.581190    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:12.581657    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "E0608 07:32:12.583221    3060 memcache.go:265] \"Unhandled Error\" err=\"couldn't get current server API group list: Get \\\"http://localhost:8080/api?timeout=32s\\\": dial tcp [::1]:8080: connect: connection refused\"",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0010-995f-9d85-00000000001a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000016",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:12.823425Z",
                            "start": "2026-06-08T07:32:12.304364Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000001a",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/tmp/logs/helm /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.151:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-995f-9d85-000000000016",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:13.340682Z",
                            "start": "2026-06-08T07:32:12.828983Z"
                        },
                        "id": "0242ac17-0010-995f-9d85-00000000001b",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 12,
            "failures": 0,
            "ignored": 0,
            "ok": 12,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:32:17.282902Z",
                    "start": "2026-06-08T07:32:14.112299Z"
                },
                "id": "0242ac17-0010-809b-d180-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:14.170391Z",
                            "start": "2026-06-08T07:32:14.124388Z"
                        },
                        "id": "0242ac17-0010-809b-d180-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:14.221242Z",
                            "start": "2026-06-08T07:32:14.176726Z"
                        },
                        "id": "0242ac17-0010-809b-d180-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:15.066184Z",
                            "start": "2026-06-08T07:32:14.226969Z"
                        },
                        "id": "0242ac17-0010-809b-d180-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.151:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.151:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.151:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.151:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:16.612117Z",
                            "start": "2026-06-08T07:32:15.074446Z"
                        },
                        "id": "0242ac17-0010-809b-d180-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts/* /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007475",
                                    "end": "2026-06-08 07:32:17.015551",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/artifacts/* /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-08 07:32:17.008076",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "artifacts",
                                    "zuul_log_id": "in-loop-ignore"
                                },
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs/* /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.005606",
                                    "end": "2026-06-08 07:32:17.241245",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/docs/* /var/lib/zuul/builds/0f0aee392af747028c207616fb398725/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-08 07:32:17.235639",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:17.282902Z",
                            "start": "2026-06-08T07:32:16.624009Z"
                        },
                        "id": "0242ac17-0010-809b-d180-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T07:32:17.764567Z",
                    "start": "2026-06-08T07:32:17.291444Z"
                },
                "id": "0242ac17-0010-809b-d180-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeSXi5DikqTEme4euD7vrGPAZNo4NShGYAP5rdwlmuLfnTiELf6gNOWJOdtUZnN5X8tPP0OiXpfeGV6vLikHQkGyflbAY7gtDmRKjhTPOxlgFOuV8I7yCpd1MtStQuONOQBOQ57B/UbtvxWekTdrZ8JlB56/fhkNHm75WK1cZDhW+JUucL4MAPASiiz5rrdT17Py6AunqJvYFIhGo7LIpuQfWlcr4jLRPNRQ5NIa5TDT2BOPSGzecBGdPuTijtMtZT3RGIByVW4UdrQr4v/GnqJOheZBB/hF7ureI/IeI34TgfimoxlhzVNLA66+OEgoglO6HfPERbXNIcBgTb21M8Kegh48fPye46yO4QnXirLiC9OGCQ6Qrcp3t+TRQklou20aJUcNYJoGwyLn+DT2GdPtUxq3xgICXWZVK6836iTGs3QilW99urtQDjMH7GQ1fIS9YSYzNPhead7e9Qixb0s1f5DGc52+r3uhY5bQOu4hI6RxLAHNZDlTK0xyHft1U= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "absent",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeSXi5DikqTEme4euD7vrGPAZNo4NShGYAP5rdwlmuLfnTiELf6gNOWJOdtUZnN5X8tPP0OiXpfeGV6vLikHQkGyflbAY7gtDmRKjhTPOxlgFOuV8I7yCpd1MtStQuONOQBOQ57B/UbtvxWekTdrZ8JlB56/fhkNHm75WK1cZDhW+JUucL4MAPASiiz5rrdT17Py6AunqJvYFIhGo7LIpuQfWlcr4jLRPNRQ5NIa5TDT2BOPSGzecBGdPuTijtMtZT3RGIByVW4UdrQr4v/GnqJOheZBB/hF7ureI/IeI34TgfimoxlhzVNLA66+OEgoglO6HfPERbXNIcBgTb21M8Kegh48fPye46yO4QnXirLiC9OGCQ6Qrcp3t+TRQklou20aJUcNYJoGwyLn+DT2GdPtUxq3xgICXWZVK6836iTGs3QilW99urtQDjMH7GQ1fIS9YSYzNPhead7e9Qixb0s1f5DGc52+r3uhY5bQOu4hI6RxLAHNZDlTK0xyHft1U= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-809b-d180-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/0f0aee392af747028c207616fb398725/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T07:32:17.764567Z",
                            "start": "2026-06-08T07:32:17.296780Z"
                        },
                        "id": "0242ac17-0010-809b-d180-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
