[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T03:12:16.577433Z",
                    "start": "2026-06-16T03:12:13.137861Z"
                },
                "id": "0242ac17-0010-cdef-c7c8-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-16",
                                    "day": "16",
                                    "epoch": "1781579534",
                                    "epoch_int": "1781579534",
                                    "hour": "03",
                                    "iso8601": "2026-06-16T03:12:14Z",
                                    "iso8601_basic": "20260616T031214051344",
                                    "iso8601_basic_short": "20260616T031214",
                                    "iso8601_micro": "2026-06-16T03:12:14.051344Z",
                                    "minute": "12",
                                    "month": "06",
                                    "second": "14",
                                    "time": "03:12:14",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "weeknumber": "24",
                                    "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/4749f4bb68db48e3ba67b93f4932484f/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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": "550607",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-GvJTd9BO6MEF/agent.550606",
                                    "TMP": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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": 2.0673828125,
                                    "1m": 3.7099609375,
                                    "5m": 2.18994140625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 3145,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 16486,
                                        "used": 15604
                                    },
                                    "real": {
                                        "free": 3145,
                                        "total": 32090,
                                        "used": 28945
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 119299253,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 144641464,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 43128500,
                                        "inode_total": 67108864,
                                        "inode_used": 23980364,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 488649740288,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8244657,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32356923,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16516438,
                                        "inode_total": 20643840,
                                        "inode_used": 4127402,
                                        "mount": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33770115072,
                                        "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": 45243263,
                                "ansible_user_dir": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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-16T03:12:14.361588Z",
                            "start": "2026-06-16T03:12:13.145315Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:14.398930Z",
                            "start": "2026-06-16T03:12:14.366968Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "474/oss/4749f4bb68db48e3ba67b93f4932484f"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:14.441583Z",
                            "start": "2026-06-16T03:12:14.411165Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: atmosphere-common-molecule-glance-image\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/117\nEvent ID: f1bd55a0-6930-11f1-8f24-9efdab3d49d6\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:14.488875Z",
                            "start": "2026-06-16T03:12:14.448695Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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: np0000180667\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.177\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:14.741829Z",
                            "start": "2026-06-16T03:12:14.492499Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:15.285068Z",
                            "start": "2026-06-16T03:12:14.751098Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "4c78f460b256c81fe7075e2770f3650791e78b8b",
                            "dest": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4c78f460b256c81fe7075e2770f3650791e78b8b",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/.ansible/tmp/ansible-tmp-1781579535.3180742-84-50867060050400/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8b8945fbd3ecd65260fe70f72ac6c5e5",
                            "mode": "0644",
                            "owner": "root",
                            "size": 33215,
                            "src": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/.ansible/tmp/ansible-tmp-1781579535.3180742-84-50867060050400/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:16.577433Z",
                            "start": "2026-06-16T03:12:15.291197Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T03:12:38.769286Z",
                    "start": "2026-06-16T03:12:16.587138Z"
                },
                "id": "0242ac17-0010-cdef-c7c8-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/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:16.978544Z",
                            "start": "2026-06-16T03:12:16.597187Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:17.022080Z",
                            "start": "2026-06-16T03:12:16.987936Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.808157",
                            "end": "2026-06-16 03:12:18.238800",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_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-cdef-c7c8-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:12:17.430643",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa.pub\nThe key fingerprint is:\nSHA256:XAHIVpxIhh3QK86mHGwYUrll8pvqGYUycfZ2XaNLDiM zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|   ..B+*oo.      |\n|  + +.B o  .     |\n|..o* . .  +      |\n|o+.oo .o + .     |\n|++.oE++ S        |\n|.o+o*o = .       |\n| o.=    o        |\n|  +o             |\n| .o              |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:XAHIVpxIhh3QK86mHGwYUrll8pvqGYUycfZ2XaNLDiM zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|   ..B+*oo.      |",
                                "|  + +.B o  .     |",
                                "|..o* . .  +      |",
                                "|o+.oo .o + .     |",
                                "|++.oE++ S        |",
                                "|.o+o*o = .       |",
                                "| o.=    o        |",
                                "|  +o             |",
                                "| .o              |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-cdef-c7c8-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:18.438173Z",
                            "start": "2026-06-16T03:12:17.043942Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:18.483909Z",
                            "start": "2026-06-16T03:12:18.448348Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:18.529722Z",
                            "start": "2026-06-16T03:12:18.505770Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCXIcP9MJiwHArxiG+TQKBCuFkjvmdBUi+quCblmc3B8akhPUuGFiMG5uC0TAt5rizfs40GfNh0nj7L+a5sd6gmSjxCvQtpIv3lWmE4tcYpLKYyx0DRaspghgv3QfqvagEiWLv2ujXTH9mRkCJt4f78cNBr7yAngHoXxg+rdoiK0iYiqahvgmsA3c5nRGOonlpZaPdikzf5VUi3i8K0iQfoiu8gor93aWAyEWajAjCiPDHBcuBFMlxu9102rpruEanx9okgWYeUQcF5RZ+6tnw7yhuD48mC842ZvA5lMDUHQKu+tu5AI7c1mI6voGY3k1KtTKEeG5finzUU2Lg+OcIH1obO0oq6/vT4ikrRGmNVTxZZlJFRaGOnHb7qXd6HNaecXpxn+nSYa67HhBrsux8hQZp2L05Kf+jZ0Q3JGHHUCumPpPALNwWMbQYmbFntSpVRZqplRgnFCTK/hSyJwAC+aL9if9Jypo8/+BYr+eFtybESA8tBpk9YKlW0lfON5Fk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCXIcP9MJiwHArxiG+TQKBCuFkjvmdBUi+quCblmc3B8akhPUuGFiMG5uC0TAt5rizfs40GfNh0nj7L+a5sd6gmSjxCvQtpIv3lWmE4tcYpLKYyx0DRaspghgv3QfqvagEiWLv2ujXTH9mRkCJt4f78cNBr7yAngHoXxg+rdoiK0iYiqahvgmsA3c5nRGOonlpZaPdikzf5VUi3i8K0iQfoiu8gor93aWAyEWajAjCiPDHBcuBFMlxu9102rpruEanx9okgWYeUQcF5RZ+6tnw7yhuD48mC842ZvA5lMDUHQKu+tu5AI7c1mI6voGY3k1KtTKEeG5finzUU2Lg+OcIH1obO0oq6/vT4ikrRGmNVTxZZlJFRaGOnHb7qXd6HNaecXpxn+nSYa67HhBrsux8hQZp2L05Kf+jZ0Q3JGHHUCumPpPALNwWMbQYmbFntSpVRZqplRgnFCTK/hSyJwAC+aL9if9Jypo8/+BYr+eFtybESA8tBpk9YKlW0lfON5Fk= 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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:19.062323Z",
                            "start": "2026-06-16T03:12:18.539003Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:19.301478Z",
                            "start": "2026-06-16T03:12:19.070664Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "a32f9f8dff283a7ffb943c9bd798c8364bddcf09",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4749f4bb68db48e3ba67b93f4932484f_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "a32f9f8dff283a7ffb943c9bd798c8364bddcf09",
                                    "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-1781579539.3521862-190-265278746347480/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "522fd2610626162519a3eff8ef7af44b",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781579539.3521862-190-265278746347480/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:19.865581Z",
                            "start": "2026-06-16T03:12:19.306636Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "524a35a7449eccc821f983f17b6a1a1199bcf4e4",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4749f4bb68db48e3ba67b93f4932484f_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "524a35a7449eccc821f983f17b6a1a1199bcf4e4",
                                    "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-1781579539.9195921-200-213192405825579/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "d6a7104afaf0039ccc8c589efb7437dc",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781579539.9195921-200-213192405825579/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:20.440520Z",
                            "start": "2026-06-16T03:12:19.873274Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:20.491269Z",
                            "start": "2026-06-16T03:12:20.449010Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:21.018634Z",
                            "start": "2026-06-16T03:12:20.507458Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa"
                            ],
                            "delta": "0:00:00.014058",
                            "end": "2026-06-16 03:12:21.389363",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_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-cdef-c7c8-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:12:21.375305",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/4749f4bb68db48e3ba67b93f4932484f_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-cdef-c7c8-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:21.566924Z",
                            "start": "2026-06-16T03:12:21.039385Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:21.883475Z",
                            "start": "2026-06-16T03:12:21.579200Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:21.913749Z",
                            "start": "2026-06-16T03:12:21.890132Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:22.260621Z",
                            "start": "2026-06-16T03:12:21.931298Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:37.505232Z",
                            "start": "2026-06-16T03:12:22.266738Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:38.151937Z",
                            "start": "2026-06-16T03:12:37.516948Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-cdef-c7c8-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:38.769286Z",
                            "start": "2026-06-16T03:12:38.163078Z"
                        },
                        "id": "0242ac17-0010-cdef-c7c8-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-16T03:12:51.549856Z",
                    "start": "2026-06-16T03:12:39.621192Z"
                },
                "id": "0242ac17-0010-c36a-5195-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-1781579559.6745234-5-190673798293861/uv-x86_64-unknown-linux-gnu1v48_plk.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-1781579559.6745234-5-190673798293861/uv-x86_64-unknown-linux-gnu1v48_plk.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c36a-5195-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:42.021137Z",
                            "start": "2026-06-16T03:12:39.632141Z"
                        },
                        "id": "0242ac17-0010-c36a-5195-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.019354",
                            "end": "2026-06-16 03:12:42.457961",
                            "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-c36a-5195-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:12:42.438607",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-c36a-5195-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c36a-5195-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:42.594128Z",
                            "start": "2026-06-16T03:12:42.073704Z"
                        },
                        "id": "0242ac17-0010-c36a-5195-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "2.2.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "3.2.2"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.0.1"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "6.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "2.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.7"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.2.0"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": ">=1.6.0",
                                    "tag": "2.2.0",
                                    "version": "2.2.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": ">=2.2.3",
                                    "tag": "3.2.2",
                                    "version": "3.2.2"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.0.1",
                                    "version": "13.0.1"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "spec": ">=2.4.0,>=2.3.2",
                                    "tag": "6.4.0",
                                    "version": "6.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": ">=2.0.0",
                                    "tag": "2.6.0",
                                    "version": "2.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.6.0",
                                    "tag": "v1.6.7",
                                    "version": "1.6.7"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=2.5.0",
                                    "tag": "v3.2.0",
                                    "version": "3.2.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "117",
                                            "change_message": "fix(secretgen): render release template explicitly\n\n## Summary\n\nRender the `secretgen_controller` release template before passing it to `kubernetes.core.k8s`.\n\n## Changes\n\n- replace `template: release.yml.tpl` with an explicit `definition` rendered by `lookup('ansible.builtin.template', 'release.yml.tpl') | from_yaml_all | list`\n- keep the role compatible with newer Ansible and `kubernetes.core` behavior where the old template path can pass raw Jinja into Kubernetes manifests\n\n## Validation\n\n- `git diff --check`\n- `pre-commit run --files roles/secretgen_controller/tasks/main.yml`\n- installed the collection into a temporary `ANSIBLE_COLLECTIONS_PATH`\n- `ANSIBLE_COLLECTIONS_PATH=<tmp> uv run ansible-playbook --syntax-check playbooks/secretgen_controller.yaml`\n- `ANSIBLE_COLLECTIONS_PATH=<tmp> uv run ansible-playbook --syntax-check extensions/molecule/secretgen-controller/converge.yml`\n- rendered `release.yml.tpl` through Ansible and confirmed the Deployment image resolves to `ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5`\n\nNote: local `uv run ansible-lint roles/secretgen_controller/tasks/main.yml` could not run because the local entry point resolved to an old Python 3.8 global `ansible-lint` and failed importing `functools.cache` before linting. The GitHub `ansible/ansible-lint` job should provide the authoritative lint result.\n\nRelated: https://github.com/vexxhost/atmosphere/pull/4009\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/117",
                                            "commit_id": "23c25bad5505abfa1b064a670564adf8be23011a",
                                            "patchset": "23c25bad5505abfa1b064a670564adf8be23011a",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "117",
                                            "change_message": "fix(secretgen): render release template explicitly\n\n## Summary\n\nRender the `secretgen_controller` release template before passing it to `kubernetes.core.k8s`.\n\n## Changes\n\n- replace `template: release.yml.tpl` with an explicit `definition` rendered by `lookup('ansible.builtin.template', 'release.yml.tpl') | from_yaml_all | list`\n- keep the role compatible with newer Ansible and `kubernetes.core` behavior where the old template path can pass raw Jinja into Kubernetes manifests\n\n## Validation\n\n- `git diff --check`\n- `pre-commit run --files roles/secretgen_controller/tasks/main.yml`\n- installed the collection into a temporary `ANSIBLE_COLLECTIONS_PATH`\n- `ANSIBLE_COLLECTIONS_PATH=<tmp> uv run ansible-playbook --syntax-check playbooks/secretgen_controller.yaml`\n- `ANSIBLE_COLLECTIONS_PATH=<tmp> uv run ansible-playbook --syntax-check extensions/molecule/secretgen-controller/converge.yml`\n- rendered `release.yml.tpl` through Ansible and confirmed the Deployment image resolves to `ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5`\n\nNote: local `uv run ansible-lint roles/secretgen_controller/tasks/main.yml` could not run because the local entry point resolved to an old Python 3.8 global `ansible-lint` and failed importing `functools.cache` before linting. The GitHub `ansible/ansible-lint` job should provide the authoritative lint result.\n\nRelated: https://github.com/vexxhost/atmosphere/pull/4009\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/117",
                                            "commit_id": "23c25bad5505abfa1b064a670564adf8be23011a",
                                            "patchset": "23c25bad5505abfa1b064a670564adf8be23011a",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/atmosphere.common",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.netcommon",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "b7fef434617ed47c562a4fef9764e335215c8b82",
                                            "name": "ansible-collections/ansible.netcommon",
                                            "required": true,
                                            "short_name": "ansible.netcommon",
                                            "src_dir": "src/github.com/ansible-collections/ansible.netcommon"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.posix",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "674315f2da475d25889d0b32a96ed0be580d8af3",
                                            "name": "ansible-collections/ansible.posix",
                                            "required": true,
                                            "short_name": "ansible.posix",
                                            "src_dir": "src/github.com/ansible-collections/ansible.posix"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.utils",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "1eca32b5d2506f6439b6b1b1ca0d8f6d307b8099",
                                            "name": "ansible-collections/ansible.utils",
                                            "required": true,
                                            "short_name": "ansible.utils",
                                            "src_dir": "src/github.com/ansible-collections/ansible.utils"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.crypto",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "9eeca8b4b4c9adb61eec70d4390634a3627253fd",
                                            "name": "ansible-collections/community.crypto",
                                            "required": true,
                                            "short_name": "community.crypto",
                                            "src_dir": "src/github.com/ansible-collections/community.crypto"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.general",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "57739cbbd933f1b749b32d6f0f595e5ae2ca16be",
                                            "name": "ansible-collections/community.general",
                                            "required": true,
                                            "short_name": "community.general",
                                            "src_dir": "src/github.com/ansible-collections/community.general"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.mysql",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "4cf7a3176fbd07be43459f1366e8066381df6d97",
                                            "name": "ansible-collections/community.mysql",
                                            "required": true,
                                            "short_name": "community.mysql",
                                            "src_dir": "src/github.com/ansible-collections/community.mysql"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/kubernetes.core",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "f69761f37cf6367d9693d0ac93c62b2c10e11cff",
                                            "name": "ansible-collections/kubernetes.core",
                                            "required": true,
                                            "short_name": "kubernetes.core",
                                            "src_dir": "src/github.com/ansible-collections/kubernetes.core"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "73f630a25d5c22f029e85298d9d47f3d94a014a6",
                                            "name": "vexxhost/ansible-collection-ceph",
                                            "required": true,
                                            "short_name": "ansible-collection-ceph",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-ceph"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-containers",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "62193e9ddde9e79c56f90d99f849a3471d119526",
                                            "name": "vexxhost/ansible-collection-containers",
                                            "required": true,
                                            "short_name": "ansible-collection-containers",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-containers"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "b76f94376a9eb8e7f018da7539aa9e3b73557330",
                                            "name": "vexxhost/ansible-collection-kubernetes",
                                            "required": true,
                                            "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": "17c3e169d9285915fd313a2c1de062e2bded7b88",
                                            "name": "vexxhost/atmosphere",
                                            "required": true,
                                            "short_name": "atmosphere",
                                            "src_dir": "src/github.com/vexxhost/atmosphere"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere.common",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "709ca7f83c274afb2fae79ec614f84214ef22f84",
                                            "name": "vexxhost/atmosphere.common",
                                            "required": false,
                                            "short_name": "atmosphere.common",
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                        },
                                        {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/ansible-collections-openstack",
                                            "checkout": "master",
                                            "checkout_description": "project default branch",
                                            "commit": "209cf2d60533d5094aaf0308765d2e538091f203",
                                            "name": "openstack/ansible-collections-openstack",
                                            "required": true,
                                            "short_name": "ansible-collections-openstack",
                                            "src_dir": "src/opendev.org/openstack/ansible-collections-openstack"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Sibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Sibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Sibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general",
                                "Sibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql",
                                "Sibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Sibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                "Sibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Sibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Sibling collection vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere",
                                "Sibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved kubernetes.core to 6.4.0 for >=2.4.0",
                                "Resolved openstack.cloud to 2.6.0 for >=2.0.0",
                                "Resolved vexxhost.kubernetes to v3.2.0 for >=2.5.0",
                                "Resolved ansible.posix to 2.2.0 for >=1.6.0",
                                "Resolved community.crypto to 3.2.2 for >=2.2.3",
                                "Resolved community.general to 13.0.1 for >=4.5.0",
                                "Resolved kubernetes.core to 6.4.0 for >=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.7 for >=1.6.0",
                                "Checked out ansible.posix to 2.2.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.posix:2.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:2.2.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:2.2.0 was installed successfully",
                                "Using CPython 3.12.3 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading pydantic-core",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 52 packages in 51ms",
                                "Checked out community.crypto to 3.2.2",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:3.2.2' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:3.2.2 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:3.2.2 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out community.general to 13.0.1",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.general:13.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.0.1 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out kubernetes.core to 6.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'kubernetes.core:6.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:6.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:6.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out openstack.cloud to 2.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:2.6.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.containers to v1.6.7",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.containers:1.6.7' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.7 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.7 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.kubernetes to v3.2.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.kubernetes:3.2.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.2.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.2.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                            ],
                            "msg": "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon\nSibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix\nSibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils\nSibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto\nSibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general\nSibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql\nSibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core\nSibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph\nSibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nSibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nSibling collection vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere\nSibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved kubernetes.core to 6.4.0 for >=2.4.0\nResolved openstack.cloud to 2.6.0 for >=2.0.0\nResolved vexxhost.kubernetes to v3.2.0 for >=2.5.0\nResolved ansible.posix to 2.2.0 for >=1.6.0\nResolved community.crypto to 3.2.2 for >=2.2.3\nResolved community.general to 13.0.1 for >=4.5.0\nResolved kubernetes.core to 6.4.0 for >=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.7 for >=1.6.0\nChecked out ansible.posix to 2.2.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.posix:2.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:2.2.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:2.2.0 was installed successfully\nUsing CPython 3.12.3 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nDownloading pydantic-core (2.0MiB)\nDownloading pygments (1.2MiB)\nDownloading kubernetes (1.9MiB)\nDownloading ansible-core (2.1MiB)\nDownloading cryptography (4.3MiB)\n Downloading pydantic-core\n Downloading cryptography\n Downloading pygments\n Downloading kubernetes\n Downloading ansible-core\nInstalled 52 packages in 51ms\nChecked out community.crypto to 3.2.2\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:3.2.2' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:3.2.2 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:3.2.2 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out community.general to 13.0.1\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.general:13.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.0.1 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out kubernetes.core to 6.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'kubernetes.core:6.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:6.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:6.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out openstack.cloud to 2.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:2.6.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.containers to v1.6.7\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.containers:1.6.7' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.7 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.7 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.kubernetes to v3.2.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.kubernetes:3.2.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.2.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.2.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:12:51.549856Z",
                            "start": "2026-06-16T03:12:42.605835Z"
                        },
                        "id": "0242ac17-0010-c36a-5195-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere.common/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T03:13:04.182114Z",
                    "start": "2026-06-16T03:12:52.424057Z"
                },
                "id": "0242ac17-0010-3a91-835e-000000000002",
                "name": "Prepare Molecule log collection"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1781579580,
                            "cache_updated": true,
                            "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": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "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 380 kB of archives.\nAfter this operation, 1127 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]\nFetched 380 kB in 1s (580 kB/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 ... 31307 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.9-1build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking jq (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up libonig5:amd64 (6.9.9-1build1) ...\r\nSetting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up jq (1.7.1-3ubuntu0.24.04.2) ...\r\nProcessing triggers for libc-bin (2.39-0ubuntu8.7) ...\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 380 kB of archives.",
                                "After this operation, 1127 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]",
                                "Fetched 380 kB in 1s (580 kB/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 ... 31307 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.9-1build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up libonig5:amd64 (6.9.9-1build1) ...",
                                "Setting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Processing triggers for libc-bin (2.39-0ubuntu8.7) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:13:04.182114Z",
                            "start": "2026-06-16T03:12:52.437154Z"
                        },
                        "id": "0242ac17-0010-3a91-835e-000000000004",
                        "name": "Install jq for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "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-16T03:19:27.686490Z",
                    "start": "2026-06-16T03:13:04.987418Z"
                },
                "id": "0242ac17-0010-71ae-444e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "4c78f460b256c81fe7075e2770f3650791e78b8b",
                            "dest": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4c78f460b256c81fe7075e2770f3650791e78b8b",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere.common",
                                    "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-1781579585.0461853-5-258303737585513/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8b8945fbd3ecd65260fe70f72ac6c5e5",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 33215,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781579585.0461853-5-258303737585513/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:13:05.998324Z",
                            "start": "2026-06-16T03:13:04.998566Z"
                        },
                        "id": "0242ac17-0010-71ae-444e-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/atmosphere.common/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-16T03:13:06.381904Z",
                            "start": "2026-06-16T03:13:06.003747Z"
                        },
                        "id": "0242ac17-0010-71ae-444e-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "glance-image"
                            ],
                            "delta": "0:06:20.454307",
                            "end": "2026-06-16 03:19:27.198552",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s glance-image",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere.common",
                                    "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-71ae-444e-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-06-16 03:13:06.744245",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nINFO     Collection 'atmosphere.common' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [glance-image > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [glance-image > prerun] Performing prerun with role_name_check=0...\nINFO     [glance-image > dependency] Executing\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\n'openstack.cloud:2.6.0' is already installed, skipping.\n'vexxhost.kubernetes:3.2.0' is already installed, skipping.\n'vexxhost.containers:1.6.7' is already installed, skipping.\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-atmosphere-7.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/vexxhost-atmosphere-7.6.0-l2kuz_tf\nInstalling 'vexxhost.atmosphere:7.6.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere'\nvexxhost.atmosphere:7.6.0 was installed successfully\n'atmosphere.common:0.7.0' is already installed, skipping.\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-posix-1.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-posix-1.6.0-bwaw341z\nInstalling 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nansible.posix:1.6.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-general-7.3.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-general-7.3.0-3d5gkc3n\nInstalling 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\ncommunity.general:7.3.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/kubernetes-core-2.4.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/kubernetes-core-2.4.0-ygii5htg\nInstalling 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nkubernetes.core:2.4.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-crypto-2.2.3.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-crypto-2.2.3-lr1xhido\nInstalling 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\ncommunity.crypto:2.2.3 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-mysql-3.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-mysql-3.6.0-bz_nb0tx\nInstalling 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'\ncommunity.mysql:3.6.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-netcommon-1.2.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-netcommon-1.2.0-omjnx7dh\nInstalling 'ansible.netcommon:1.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'\nansible.netcommon:1.2.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-ceph-4.0.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/vexxhost-ceph-4.0.0-s7mmgdpi\nInstalling 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'\nvexxhost.ceph:4.0.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-utils-6.0.2.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-utils-6.0.2-opi4_3j6\nInstalling 'ansible.utils:6.0.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nansible.utils:6.0.2 was installed successfully\nINFO     [glance-image > dependency] Dependency completed successfully.\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.18.17\nStarting galaxy collection install process\nNothing to do. All requested collections are already installed. If you want to reinstall them, consider using `--force`.\nINFO     [glance-image > dependency] Dependency completed successfully.\nINFO     [glance-image > dependency] Executed: Successful\nINFO     [glance-image > cleanup] Executing\nWARNING  [glance-image > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [glance-image > destroy] Executing\nWARNING  [glance-image > destroy] Skipping, '--destroy=never' requested.\nINFO     [glance-image > destroy] Executed: Successful\nINFO     [glance-image > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/converge.yml\nINFO     [glance-image > syntax] Executed: Successful\nINFO     [glance-image > create] Executing\nWARNING  [glance-image > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [glance-image > prepare] Executing\n\nPLAY [Prepare host packages] ***************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 16 June 2026  03:13:47 +0000 (0:00:00.033)       0:00:00.033 **********\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nTuesday 16 June 2026  03:13:49 +0000 (0:00:01.325)       0:00:01.358 **********\nchanged: [controller]\n\nTASK [Install Python packages used by the test] ********************************\nTuesday 16 June 2026  03:13:55 +0000 (0:00:06.425)       0:00:07.783 **********\nchanged: [controller]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 16 June 2026  03:14:03 +0000 (0:00:07.296)       0:00:15.080 **********\nok: [controller]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 16 June 2026  03:14:03 +0000 (0:00:00.804)       0:00:15.884 **********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 16 June 2026  03:14:03 +0000 (0:00:00.139)       0:00:16.023 **********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nTuesday 16 June 2026  03:14:04 +0000 (0:00:00.868)       0:00:16.892 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nTuesday 16 June 2026  03:14:05 +0000 (0:00:00.401)       0:00:17.294 **********\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] ****\nTuesday 16 June 2026  03:14:06 +0000 (0:00:01.133)       0:00:18.427 **********\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}\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}\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] *********\nTuesday 16 June 2026  03:14:07 +0000 (0:00:00.855)       0:00:19.283 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nTuesday 16 June 2026  03:14:07 +0000 (0:00:00.362)       0:00:19.645 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nTuesday 16 June 2026  03:14:07 +0000 (0:00:00.239)       0:00:19.885 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nTuesday 16 June 2026  03:14:07 +0000 (0:00:00.031)       0:00:19.916 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nTuesday 16 June 2026  03:14:07 +0000 (0:00:00.043)       0:00:19.960 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nTuesday 16 June 2026  03:14:08 +0000 (0:00:00.852)       0:00:20.813 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nTuesday 16 June 2026  03:14:09 +0000 (0:00:00.338)       0:00:21.152 **********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 16 June 2026  03:14:09 +0000 (0:00:00.048)       0:00:21.200 **********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:09 +0000 (0:00:00.836)       0:00:22.036 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 16 June 2026  03:14:10 +0000 (0:00:00.243)       0:00:22.280 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 16 June 2026  03:14:10 +0000 (0:00:00.032)       0:00:22.312 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:10 +0000 (0:00:00.246)       0:00:22.558 **********\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] *******************\nTuesday 16 June 2026  03:14:10 +0000 (0:00:00.073)       0:00:22.632 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:11 +0000 (0:00:00.719)       0:00:23.352 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:11 +0000 (0:00:00.041)       0:00:23.393 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 16 June 2026  03:14:11 +0000 (0:00:00.245)       0:00:23.639 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:12 +0000 (0:00:00.886)       0:00:24.526 **********\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] *******************\nTuesday 16 June 2026  03:14:12 +0000 (0:00:00.086)       0:00:24.612 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:13 +0000 (0:00:00.806)       0:00:25.418 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 16 June 2026  03:14:16 +0000 (0:00:02.982)       0:00:28.401 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 16 June 2026  03:14:16 +0000 (0:00:00.033)       0:00:28.434 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 16 June 2026  03:14:16 +0000 (0:00:00.041)       0:00:28.475 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 16 June 2026  03:14:16 +0000 (0:00:00.029)       0:00:28.505 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 16 June 2026  03:14:23 +0000 (0:00:07.026)       0:00:35.532 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 16 June 2026  03:14:24 +0000 (0:00:00.598)       0:00:36.131 **********\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] **********\nTuesday 16 June 2026  03:14:25 +0000 (0:00:01.147)       0:00:37.279 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 16 June 2026  03:14:25 +0000 (0:00:00.692)       0:00:37.971 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nTuesday 16 June 2026  03:14:25 +0000 (0:00:00.005)       0:00:37.976 **********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nTuesday 16 June 2026  03:14:26 +0000 (0:00:00.779)       0:00:38.756 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 16 June 2026  03:14:27 +0000 (0:00:00.870)       0:00:39.626 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nTuesday 16 June 2026  03:14:28 +0000 (0:00:00.683)       0:00:40.309 **********\nAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nTuesday 16 June 2026  03:14:29 +0000 (0:00:01.001)       0:00:41.311 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.042)       0:00:41.354 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.037)       0:00:41.392 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.045)       0:00:41.437 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.040)       0:00:41.478 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.039)       0:00:41.518 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.245)       0:00:41.763 **********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 16 June 2026  03:14:29 +0000 (0:00:00.046)       0:00:41.810 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:31 +0000 (0:00:01.537)       0:00:43.348 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:31 +0000 (0:00:00.040)       0:00:43.388 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:31 +0000 (0:00:00.249)       0:00:43.638 **********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 16 June 2026  03:14:31 +0000 (0:00:00.040)       0:00:43.678 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:32 +0000 (0:00:01.120)       0:00:44.799 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 16 June 2026  03:14:32 +0000 (0:00:00.044)       0:00:44.844 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 16 June 2026  03:14:32 +0000 (0:00:00.032)       0:00:44.876 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 16 June 2026  03:14:32 +0000 (0:00:00.031)       0:00:44.907 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 16 June 2026  03:14:32 +0000 (0:00:00.028)       0:00:44.935 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 16 June 2026  03:14:33 +0000 (0:00:00.869)       0:00:45.805 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 16 June 2026  03:14:34 +0000 (0:00:00.561)       0:00:46.367 **********\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] **********\nTuesday 16 June 2026  03:14:35 +0000 (0:00:01.152)       0:00:47.519 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 16 June 2026  03:14:36 +0000 (0:00:00.667)       0:00:48.187 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 16 June 2026  03:14:36 +0000 (0:00:00.005)       0:00:48.192 **********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:36 +0000 (0:00:00.472)       0:00:48.664 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:36 +0000 (0:00:00.254)       0:00:48.919 **********\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] *******************\nTuesday 16 June 2026  03:14:36 +0000 (0:00:00.061)       0:00:48.980 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:37 +0000 (0:00:00.684)       0:00:49.665 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:39 +0000 (0:00:01.550)       0:00:51.216 **********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 16 June 2026  03:14:39 +0000 (0:00:00.056)       0:00:51.273 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:40 +0000 (0:00:00.889)       0:00:52.163 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nTuesday 16 June 2026  03:14:41 +0000 (0:00:01.551)       0:00:53.715 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nTuesday 16 June 2026  03:14:42 +0000 (0:00:00.575)       0:00:54.290 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:42 +0000 (0:00:00.252)       0:00:54.542 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:42 +0000 (0:00:00.255)       0:00:54.797 **********\nok: [controller] => {\n    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 16 June 2026  03:14:42 +0000 (0:00:00.057)       0:00:54.855 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:43 +0000 (0:00:01.087)       0:00:55.942 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nTuesday 16 June 2026  03:14:46 +0000 (0:00:02.871)       0:00:58.813 **********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n\nTASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\nTuesday 16 June 2026  03:14:46 +0000 (0:00:00.054)       0:00:58.868 **********\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nTuesday 16 June 2026  03:14:47 +0000 (0:00:00.916)       0:00:59.785 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nTuesday 16 June 2026  03:14:48 +0000 (0:00:00.353)       0:01:00.139 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nTuesday 16 June 2026  03:14:48 +0000 (0:00:00.568)       0:01:00.707 **********\nchanged: [controller] => (item=br_netfilter)\nok: [controller] => (item=ip_tables)\nchanged: [controller] => (item=ip6_tables)\nchanged: [controller] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 16 June 2026  03:14:49 +0000 (0:00:01.075)       0:01:01.783 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 16 June 2026  03:14:49 +0000 (0:00:00.250)       0:01:02.034 **********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 16 June 2026  03:14:50 +0000 (0:00:00.043)       0:01:02.078 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 16 June 2026  03:14:53 +0000 (0:00:03.478)       0:01:05.556 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nTuesday 16 June 2026  03:14:53 +0000 (0:00:00.040)       0:01:05.596 **********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nTuesday 16 June 2026  03:14:53 +0000 (0:00:00.052)       0:01:05.649 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nTuesday 16 June 2026  03:14:53 +0000 (0:00:00.026)       0:01:05.676 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nTuesday 16 June 2026  03:14:56 +0000 (0:00:03.213)       0:01:08.890 **********\nchanged: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\nchanged: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n\nTASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\nTuesday 16 June 2026  03:14:58 +0000 (0:00:01.611)       0:01:10.502 **********\nchanged: [controller] => (item=/etc/systemd/system/kubelet.service.d)\nok: [controller] => (item=/etc/kubernetes)\nok: [controller] => (item=/etc/kubernetes/manifests)\n\nTASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\nTuesday 16 June 2026  03:14:59 +0000 (0:00:00.683)       0:01:11.185 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nTuesday 16 June 2026  03:14:59 +0000 (0:00:00.571)       0:01:11.757 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nTuesday 16 June 2026  03:15:00 +0000 (0:00:00.597)       0:01:12.355 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nTuesday 16 June 2026  03:15:00 +0000 (0:00:00.336)       0:01:12.692 **********\n[DEPRECATION WARNING]: Conditional result at location /home/zuul/.ansible/colle\nctions/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml\n91:11 was of type 'AnsibleUnsafeText'. Conditional results should only be True\nor False. The result was interpreted as False. This feature will be removed in\nversion 2.19. Deprecation warnings can be disabled by setting\ndeprecation_warnings=False in ansible.cfg.\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nTuesday 16 June 2026  03:15:00 +0000 (0:00:00.035)       0:01:12.728 **********\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nTuesday 16 June 2026  03:15:01 +0000 (0:00:00.569)       0:01:13.298 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nTuesday 16 June 2026  03:15:01 +0000 (0:00:00.575)       0:01:13.873 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nTuesday 16 June 2026  03:15:02 +0000 (0:00:00.678)       0:01:14.552 **********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nTuesday 16 June 2026  03:15:02 +0000 (0:00:00.008)       0:01:14.560 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nTuesday 16 June 2026  03:15:03 +0000 (0:00:00.875)       0:01:15.436 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nTuesday 16 June 2026  03:15:04 +0000 (0:00:00.688)       0:01:16.124 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nTuesday 16 June 2026  03:15:05 +0000 (0:00:00.928)       0:01:17.052 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nTuesday 16 June 2026  03:15:05 +0000 (0:00:00.835)       0:01:17.887 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nTuesday 16 June 2026  03:15:06 +0000 (0:00:00.336)       0:01:18.223 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nTuesday 16 June 2026  03:15:06 +0000 (0:00:00.473)       0:01:18.697 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nTuesday 16 June 2026  03:15:06 +0000 (0:00:00.073)       0:01:18.770 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***\nTuesday 16 June 2026  03:15:06 +0000 (0:00:00.076)       0:01:18.847 **********\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.246)       0:01:19.093 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.045)       0:01:19.138 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.047)       0:01:19.186 **********\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.039)       0:01:19.225 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.671)       0:01:19.897 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.036)       0:01:19.933 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.034)       0:01:19.967 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.030)       0:01:19.998 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nTuesday 16 June 2026  03:15:07 +0000 (0:00:00.035)       0:01:20.034 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nTuesday 16 June 2026  03:15:08 +0000 (0:00:00.032)       0:01:20.066 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nTuesday 16 June 2026  03:15:08 +0000 (0:00:00.035)       0:01:20.102 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nTuesday 16 June 2026  03:15:08 +0000 (0:00:00.037)       0:01:20.139 **********\nfatal: [controller]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:04:18.561843\", \"end\": \"2026-06-16 03:19:26.856773\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-06-16 03:15:08.294930\", \"stderr\": \"W0616 03:15:08.341274    4450 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0616 03:15:08.341274    4450 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [controller kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.177]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[kubelet-check] Initial timeout of 40s passed.\\n\\nUnfortunately, an error has occurred:\\n\\ttimed out waiting for the condition\\n\\nThis error is likely caused by:\\n\\t- The kubelet is not running\\n\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\\n\\nIf you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\\n\\t- 'systemctl status kubelet'\\n\\t- 'journalctl -xeu kubelet'\\n\\nAdditionally, a control plane component may have crashed or exited when started by the container runtime.\\nTo troubleshoot, list all containers using your preferred container runtimes CLI.\\nHere is one example how you may list all running Kubernetes containers by using crictl:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\\n\\tOnce you have found the failing container, you can inspect its logs with:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [controller kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.177]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[kubelet-check] Initial timeout of 40s passed.\", \"\", \"Unfortunately, an error has occurred:\", \"\\ttimed out waiting for the condition\", \"\", \"This error is likely caused by:\", \"\\t- The kubelet is not running\", \"\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\", \"\", \"If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\", \"\\t- 'systemctl status kubelet'\", \"\\t- 'journalctl -xeu kubelet'\", \"\", \"Additionally, a control plane component may have crashed or exited when started by the container runtime.\", \"To troubleshoot, list all containers using your preferred container runtimes CLI.\", \"Here is one example how you may list all running Kubernetes containers by using crictl:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\", \"\\tOnce you have found the failing container, you can inspect its logs with:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\"]}\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=87   changed=38   unreachable=0    failed=1    skipped=26   rescued=0    ignored=2\n\nTuesday 16 June 2026  03:19:26 +0000 (0:04:18.802)       0:05:38.942 **********\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 258.80s\nInstall Python packages used by the test -------------------------------- 7.30s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 7.03s\nInstall Debian packages ------------------------------------------------- 6.43s\nvexxhost.containers.download_artifact : Download item ------------------- 3.48s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.21s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.98s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.87s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.75s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.61s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.55s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.55s\nvexxhost.containers.download_artifact : Download item ------------------- 1.54s\nGathering Facts --------------------------------------------------------- 1.33s\nvexxhost.containers.containerd : Create folders for configuration ------- 1.15s\nvexxhost.containers.containerd : Create folders for configuration ------- 1.15s\nvexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.13s\nvexxhost.containers.download_artifact : Download item ------------------- 1.12s\nvexxhost.containers.download_artifact : Download item ------------------- 1.09s\nvexxhost.containers.cni_plugins : Enable kernel modules in runtime ------ 1.08s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/prepare.yml\nERROR    [glance-image > prepare] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/prepare.yml",
                            "stdout_lines": [
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "INFO     Collection 'atmosphere.common' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [glance-image > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [glance-image > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [glance-image > dependency] Executing",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "'openstack.cloud:2.6.0' is already installed, skipping.",
                                "'vexxhost.kubernetes:3.2.0' is already installed, skipping.",
                                "'vexxhost.containers:1.6.7' is already installed, skipping.",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-atmosphere-7.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/vexxhost-atmosphere-7.6.0-l2kuz_tf",
                                "Installing 'vexxhost.atmosphere:7.6.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere'",
                                "vexxhost.atmosphere:7.6.0 was installed successfully",
                                "'atmosphere.common:0.7.0' is already installed, skipping.",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-posix-1.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-posix-1.6.0-bwaw341z",
                                "Installing 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "ansible.posix:1.6.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-general-7.3.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-general-7.3.0-3d5gkc3n",
                                "Installing 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "community.general:7.3.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/kubernetes-core-2.4.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/kubernetes-core-2.4.0-ygii5htg",
                                "Installing 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "kubernetes.core:2.4.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-crypto-2.2.3.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-crypto-2.2.3-lr1xhido",
                                "Installing 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "community.crypto:2.2.3 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-mysql-3.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/community-mysql-3.6.0-bz_nb0tx",
                                "Installing 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'",
                                "community.mysql:3.6.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-netcommon-1.2.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-netcommon-1.2.0-omjnx7dh",
                                "Installing 'ansible.netcommon:1.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'",
                                "ansible.netcommon:1.2.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-ceph-4.0.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/vexxhost-ceph-4.0.0-s7mmgdpi",
                                "Installing 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'",
                                "vexxhost.ceph:4.0.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-utils-6.0.2.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1463twmk2eeb/tmp2g_di6tw/ansible-utils-6.0.2-opi4_3j6",
                                "Installing 'ansible.utils:6.0.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "ansible.utils:6.0.2 was installed successfully",
                                "INFO     [glance-image > dependency] Dependency completed successfully.",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.18.17",
                                "Starting galaxy collection install process",
                                "Nothing to do. All requested collections are already installed. If you want to reinstall them, consider using `--force`.",
                                "INFO     [glance-image > dependency] Dependency completed successfully.",
                                "INFO     [glance-image > dependency] Executed: Successful",
                                "INFO     [glance-image > cleanup] Executing",
                                "WARNING  [glance-image > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [glance-image > destroy] Executing",
                                "WARNING  [glance-image > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [glance-image > destroy] Executed: Successful",
                                "INFO     [glance-image > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/converge.yml",
                                "INFO     [glance-image > syntax] Executed: Successful",
                                "INFO     [glance-image > create] Executing",
                                "WARNING  [glance-image > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [glance-image > prepare] Executing",
                                "",
                                "PLAY [Prepare host packages] ***************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 16 June 2026  03:13:47 +0000 (0:00:00.033)       0:00:00.033 **********",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Tuesday 16 June 2026  03:13:49 +0000 (0:00:01.325)       0:00:01.358 **********",
                                "changed: [controller]",
                                "",
                                "TASK [Install Python packages used by the test] ********************************",
                                "Tuesday 16 June 2026  03:13:55 +0000 (0:00:06.425)       0:00:07.783 **********",
                                "changed: [controller]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 16 June 2026  03:14:03 +0000 (0:00:07.296)       0:00:15.080 **********",
                                "ok: [controller]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 16 June 2026  03:14:03 +0000 (0:00:00.804)       0:00:15.884 **********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 16 June 2026  03:14:03 +0000 (0:00:00.139)       0:00:16.023 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Tuesday 16 June 2026  03:14:04 +0000 (0:00:00.868)       0:00:16.892 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Tuesday 16 June 2026  03:14:05 +0000 (0:00:00.401)       0:00:17.294 **********",
                                "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] ****",
                                "Tuesday 16 June 2026  03:14:06 +0000 (0:00:01.133)       0:00:18.427 **********",
                                "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}",
                                "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}",
                                "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] *********",
                                "Tuesday 16 June 2026  03:14:07 +0000 (0:00:00.855)       0:00:19.283 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Tuesday 16 June 2026  03:14:07 +0000 (0:00:00.362)       0:00:19.645 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Tuesday 16 June 2026  03:14:07 +0000 (0:00:00.239)       0:00:19.885 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Tuesday 16 June 2026  03:14:07 +0000 (0:00:00.031)       0:00:19.916 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Tuesday 16 June 2026  03:14:07 +0000 (0:00:00.043)       0:00:19.960 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Tuesday 16 June 2026  03:14:08 +0000 (0:00:00.852)       0:00:20.813 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Tuesday 16 June 2026  03:14:09 +0000 (0:00:00.338)       0:00:21.152 **********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 16 June 2026  03:14:09 +0000 (0:00:00.048)       0:00:21.200 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:09 +0000 (0:00:00.836)       0:00:22.036 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 16 June 2026  03:14:10 +0000 (0:00:00.243)       0:00:22.280 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 16 June 2026  03:14:10 +0000 (0:00:00.032)       0:00:22.312 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:10 +0000 (0:00:00.246)       0:00:22.558 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:10 +0000 (0:00:00.073)       0:00:22.632 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:11 +0000 (0:00:00.719)       0:00:23.352 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:11 +0000 (0:00:00.041)       0:00:23.393 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 16 June 2026  03:14:11 +0000 (0:00:00.245)       0:00:23.639 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:12 +0000 (0:00:00.886)       0:00:24.526 **********",
                                "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] *******************",
                                "Tuesday 16 June 2026  03:14:12 +0000 (0:00:00.086)       0:00:24.612 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:13 +0000 (0:00:00.806)       0:00:25.418 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 16 June 2026  03:14:16 +0000 (0:00:02.982)       0:00:28.401 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 16 June 2026  03:14:16 +0000 (0:00:00.033)       0:00:28.434 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 16 June 2026  03:14:16 +0000 (0:00:00.041)       0:00:28.475 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 16 June 2026  03:14:16 +0000 (0:00:00.029)       0:00:28.505 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 16 June 2026  03:14:23 +0000 (0:00:07.026)       0:00:35.532 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 16 June 2026  03:14:24 +0000 (0:00:00.598)       0:00:36.131 **********",
                                "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] **********",
                                "Tuesday 16 June 2026  03:14:25 +0000 (0:00:01.147)       0:00:37.279 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 16 June 2026  03:14:25 +0000 (0:00:00.692)       0:00:37.971 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Tuesday 16 June 2026  03:14:25 +0000 (0:00:00.005)       0:00:37.976 **********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Tuesday 16 June 2026  03:14:26 +0000 (0:00:00.779)       0:00:38.756 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 16 June 2026  03:14:27 +0000 (0:00:00.870)       0:00:39.626 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Tuesday 16 June 2026  03:14:28 +0000 (0:00:00.683)       0:00:40.309 **********",
                                "An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:01.001)       0:00:41.311 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.042)       0:00:41.354 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.037)       0:00:41.392 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.045)       0:00:41.437 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.040)       0:00:41.478 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.039)       0:00:41.518 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.245)       0:00:41.763 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:29 +0000 (0:00:00.046)       0:00:41.810 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:31 +0000 (0:00:01.537)       0:00:43.348 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:31 +0000 (0:00:00.040)       0:00:43.388 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:31 +0000 (0:00:00.249)       0:00:43.638 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:31 +0000 (0:00:00.040)       0:00:43.678 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:32 +0000 (0:00:01.120)       0:00:44.799 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 16 June 2026  03:14:32 +0000 (0:00:00.044)       0:00:44.844 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 16 June 2026  03:14:32 +0000 (0:00:00.032)       0:00:44.876 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 16 June 2026  03:14:32 +0000 (0:00:00.031)       0:00:44.907 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 16 June 2026  03:14:32 +0000 (0:00:00.028)       0:00:44.935 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 16 June 2026  03:14:33 +0000 (0:00:00.869)       0:00:45.805 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 16 June 2026  03:14:34 +0000 (0:00:00.561)       0:00:46.367 **********",
                                "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] **********",
                                "Tuesday 16 June 2026  03:14:35 +0000 (0:00:01.152)       0:00:47.519 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 16 June 2026  03:14:36 +0000 (0:00:00.667)       0:00:48.187 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 16 June 2026  03:14:36 +0000 (0:00:00.005)       0:00:48.192 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:36 +0000 (0:00:00.472)       0:00:48.664 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:36 +0000 (0:00:00.254)       0:00:48.919 **********",
                                "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] *******************",
                                "Tuesday 16 June 2026  03:14:36 +0000 (0:00:00.061)       0:00:48.980 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:37 +0000 (0:00:00.684)       0:00:49.665 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:39 +0000 (0:00:01.550)       0:00:51.216 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:39 +0000 (0:00:00.056)       0:00:51.273 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:40 +0000 (0:00:00.889)       0:00:52.163 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Tuesday 16 June 2026  03:14:41 +0000 (0:00:01.551)       0:00:53.715 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Tuesday 16 June 2026  03:14:42 +0000 (0:00:00.575)       0:00:54.290 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:42 +0000 (0:00:00.252)       0:00:54.542 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:42 +0000 (0:00:00.255)       0:00:54.797 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:42 +0000 (0:00:00.057)       0:00:54.855 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:43 +0000 (0:00:01.087)       0:00:55.942 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Tuesday 16 June 2026  03:14:46 +0000 (0:00:02.871)       0:00:58.813 **********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "Tuesday 16 June 2026  03:14:46 +0000 (0:00:00.054)       0:00:58.868 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Tuesday 16 June 2026  03:14:47 +0000 (0:00:00.916)       0:00:59.785 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Tuesday 16 June 2026  03:14:48 +0000 (0:00:00.353)       0:01:00.139 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Tuesday 16 June 2026  03:14:48 +0000 (0:00:00.568)       0:01:00.707 **********",
                                "changed: [controller] => (item=br_netfilter)",
                                "ok: [controller] => (item=ip_tables)",
                                "changed: [controller] => (item=ip6_tables)",
                                "changed: [controller] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 16 June 2026  03:14:49 +0000 (0:00:01.075)       0:01:01.783 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 16 June 2026  03:14:49 +0000 (0:00:00.250)       0:01:02.034 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 16 June 2026  03:14:50 +0000 (0:00:00.043)       0:01:02.078 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 16 June 2026  03:14:53 +0000 (0:00:03.478)       0:01:05.556 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Tuesday 16 June 2026  03:14:53 +0000 (0:00:00.040)       0:01:05.596 **********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Tuesday 16 June 2026  03:14:53 +0000 (0:00:00.052)       0:01:05.649 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Tuesday 16 June 2026  03:14:53 +0000 (0:00:00.026)       0:01:05.676 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Tuesday 16 June 2026  03:14:56 +0000 (0:00:03.213)       0:01:08.890 **********",
                                "changed: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "Tuesday 16 June 2026  03:14:58 +0000 (0:00:01.611)       0:01:10.502 **********",
                                "changed: [controller] => (item=/etc/systemd/system/kubelet.service.d)",
                                "ok: [controller] => (item=/etc/kubernetes)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "Tuesday 16 June 2026  03:14:59 +0000 (0:00:00.683)       0:01:11.185 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Tuesday 16 June 2026  03:14:59 +0000 (0:00:00.571)       0:01:11.757 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Tuesday 16 June 2026  03:15:00 +0000 (0:00:00.597)       0:01:12.355 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Tuesday 16 June 2026  03:15:00 +0000 (0:00:00.336)       0:01:12.692 **********",
                                "[DEPRECATION WARNING]: Conditional result at location /home/zuul/.ansible/colle",
                                "ctions/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml",
                                "91:11 was of type 'AnsibleUnsafeText'. Conditional results should only be True",
                                "or False. The result was interpreted as False. This feature will be removed in",
                                "version 2.19. Deprecation warnings can be disabled by setting",
                                "deprecation_warnings=False in ansible.cfg.",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Tuesday 16 June 2026  03:15:00 +0000 (0:00:00.035)       0:01:12.728 **********",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Tuesday 16 June 2026  03:15:01 +0000 (0:00:00.569)       0:01:13.298 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Tuesday 16 June 2026  03:15:01 +0000 (0:00:00.575)       0:01:13.873 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Tuesday 16 June 2026  03:15:02 +0000 (0:00:00.678)       0:01:14.552 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Tuesday 16 June 2026  03:15:02 +0000 (0:00:00.008)       0:01:14.560 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Tuesday 16 June 2026  03:15:03 +0000 (0:00:00.875)       0:01:15.436 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Tuesday 16 June 2026  03:15:04 +0000 (0:00:00.688)       0:01:16.124 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Tuesday 16 June 2026  03:15:05 +0000 (0:00:00.928)       0:01:17.052 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Tuesday 16 June 2026  03:15:05 +0000 (0:00:00.835)       0:01:17.887 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Tuesday 16 June 2026  03:15:06 +0000 (0:00:00.336)       0:01:18.223 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Tuesday 16 June 2026  03:15:06 +0000 (0:00:00.473)       0:01:18.697 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Tuesday 16 June 2026  03:15:06 +0000 (0:00:00.073)       0:01:18.770 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***",
                                "Tuesday 16 June 2026  03:15:06 +0000 (0:00:00.076)       0:01:18.847 **********",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.246)       0:01:19.093 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.045)       0:01:19.138 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.047)       0:01:19.186 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.039)       0:01:19.225 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.671)       0:01:19.897 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.036)       0:01:19.933 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.034)       0:01:19.967 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.030)       0:01:19.998 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Tuesday 16 June 2026  03:15:07 +0000 (0:00:00.035)       0:01:20.034 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Tuesday 16 June 2026  03:15:08 +0000 (0:00:00.032)       0:01:20.066 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Tuesday 16 June 2026  03:15:08 +0000 (0:00:00.035)       0:01:20.102 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Tuesday 16 June 2026  03:15:08 +0000 (0:00:00.037)       0:01:20.139 **********",
                                "fatal: [controller]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:04:18.561843\", \"end\": \"2026-06-16 03:19:26.856773\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-06-16 03:15:08.294930\", \"stderr\": \"W0616 03:15:08.341274    4450 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0616 03:15:08.341274    4450 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [controller kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.177]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[kubelet-check] Initial timeout of 40s passed.\\n\\nUnfortunately, an error has occurred:\\n\\ttimed out waiting for the condition\\n\\nThis error is likely caused by:\\n\\t- The kubelet is not running\\n\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\\n\\nIf you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\\n\\t- 'systemctl status kubelet'\\n\\t- 'journalctl -xeu kubelet'\\n\\nAdditionally, a control plane component may have crashed or exited when started by the container runtime.\\nTo troubleshoot, list all containers using your preferred container runtimes CLI.\\nHere is one example how you may list all running Kubernetes containers by using crictl:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\\n\\tOnce you have found the failing container, you can inspect its logs with:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [controller kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.177]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [controller localhost] and IPs [199.204.45.177 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[kubelet-check] Initial timeout of 40s passed.\", \"\", \"Unfortunately, an error has occurred:\", \"\\ttimed out waiting for the condition\", \"\", \"This error is likely caused by:\", \"\\t- The kubelet is not running\", \"\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\", \"\", \"If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\", \"\\t- 'systemctl status kubelet'\", \"\\t- 'journalctl -xeu kubelet'\", \"\", \"Additionally, a control plane component may have crashed or exited when started by the container runtime.\", \"To troubleshoot, list all containers using your preferred container runtimes CLI.\", \"Here is one example how you may list all running Kubernetes containers by using crictl:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\", \"\\tOnce you have found the failing container, you can inspect its logs with:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=87   changed=38   unreachable=0    failed=1    skipped=26   rescued=0    ignored=2",
                                "",
                                "Tuesday 16 June 2026  03:19:26 +0000 (0:04:18.802)       0:05:38.942 **********",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 258.80s",
                                "Install Python packages used by the test -------------------------------- 7.30s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 7.03s",
                                "Install Debian packages ------------------------------------------------- 6.43s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 3.48s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.21s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.98s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.87s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.75s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.61s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.55s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.55s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.54s",
                                "Gathering Facts --------------------------------------------------------- 1.33s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 1.15s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 1.15s",
                                "vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.13s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.12s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.09s",
                                "vexxhost.containers.cni_plugins : Enable kernel modules in runtime ------ 1.08s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/prepare.yml",
                                "ERROR    [glance-image > prepare] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/prepare.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-71ae-444e-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:27.686490Z",
                            "start": "2026-06-16T03:13:06.408642Z"
                        },
                        "id": "0242ac17-0010-71ae-444e-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/atmosphere.common/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T03:19:39.223610Z",
                    "start": "2026-06-16T03:19:28.466691Z"
                },
                "id": "0242ac17-0010-776f-6154-000000000002",
                "name": "Collect Molecule logs"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "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/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:28.862061Z",
                            "start": "2026-06-16T03:19:28.480740Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.089057",
                            "end": "2026-06-16 03:19:29.334240",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_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-776f-6154-00000000000d-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:29.245183",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n/bin/bash: line 7: docker: command not found\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n/bin/bash: line 11: docker: command not found\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "/bin/bash: line 7: docker: command not found",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "/bin/bash: line 11: docker: command not found",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-776f-6154-00000000000d-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:29.405157Z",
                            "start": "2026-06-16T03:19:28.887974Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "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.204.45.177:/tmp/logs/system /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/controller\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/controller",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:30.077181Z",
                            "start": "2026-06-16T03:19:29.412162Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000000e",
                        "name": "Downloads 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": 4096,
                                    "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": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:30.552187Z",
                            "start": "2026-06-16T03:19:30.087662Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000012",
                        "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.085255",
                            "end": "2026-06-16 03:19:30.912584",
                            "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-776f-6154-000000000014-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:30.827329",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0616 03:19:30.899009    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:30.900009    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:30.900987    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:30.902251    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:30.902816    4868 memcache.go:265] 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": [
                                "E0616 03:19:30.899009    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:30.900009    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:30.900987    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:30.902251    4868 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:30.902816    4868 memcache.go:265] 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-776f-6154-000000000014-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:31.104737Z",
                            "start": "2026-06-16T03:19:30.585383Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000014",
                        "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.204.45.177:/tmp/logs/helm /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/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-776f-6154-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:31.612304Z",
                            "start": "2026-06-16T03:19:31.110082Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "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": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:31.874481Z",
                            "start": "2026-06-16T03:19:31.623609Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000019",
                        "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.269691",
                            "end": "2026-06-16 03:19:32.448940",
                            "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-776f-6154-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:32.179249",
                            "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\nE0616 03:19:32.260068    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.261163    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.261992    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.263341    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.264190    4918 memcache.go:265] 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?\nE0616 03:19:32.266557    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.267393    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.269523    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.270308    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.272205    4921 memcache.go:265] 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\nE0616 03:19:32.344299    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.344968    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.348625    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.348803    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.349573    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.351013    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.351587    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.352029    4943 memcache.go:265] 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?\nE0616 03:19:32.352342    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.354054    4940 memcache.go:265] 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\nE0616 03:19:32.431123    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.432166    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.433079    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.435112    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:32.435960    4962 memcache.go:265] 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",
                                "E0616 03:19:32.260068    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.261163    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.261992    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.263341    4918 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.264190    4918 memcache.go:265] 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?",
                                "E0616 03:19:32.266557    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.267393    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.269523    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.270308    4921 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.272205    4921 memcache.go:265] 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",
                                "E0616 03:19:32.344299    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.344968    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.348625    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.348803    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.349573    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.351013    4943 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.351587    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.352029    4943 memcache.go:265] 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?",
                                "E0616 03:19:32.352342    4940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.354054    4940 memcache.go:265] 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",
                                "E0616 03:19:32.431123    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.432166    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.433079    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.435112    4962 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:32.435960    4962 memcache.go:265] 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-776f-6154-00000000001a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:32.496984Z",
                            "start": "2026-06-16T03:19:31.941490Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000001a",
                        "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": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:32.762048Z",
                            "start": "2026-06-16T03:19:32.502474Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000001b",
                        "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.083676",
                            "end": "2026-06-16 03:19:33.106606",
                            "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-776f-6154-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:33.022930",
                            "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\nE0616 03:19:33.089965    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:33.091207    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:33.092074    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:33.093729    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:33.094368    4992 memcache.go:265] 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",
                                "E0616 03:19:33.089965    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:33.091207    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:33.092074    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:33.093729    4992 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:33.094368    4992 memcache.go:265] 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-776f-6154-00000000001c-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:33.307783Z",
                            "start": "2026-06-16T03:19:32.789560Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000001c",
                        "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.204.45.177:/tmp/logs/objects /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:33.835094Z",
                            "start": "2026-06-16T03:19:33.314570Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000001d",
                        "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": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:34.113696Z",
                            "start": "2026-06-16T03:19:33.847280Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000021",
                        "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": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:34.370446Z",
                            "start": "2026-06-16T03:19:34.120147Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000022",
                        "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.086294",
                            "end": "2026-06-16 03:19:34.724837",
                            "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-776f-6154-000000000023-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:34.638543",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0616 03:19:34.710896    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:34.712029    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:34.712938    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:34.714841    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:34.715307    5044 memcache.go:265] 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": [
                                "E0616 03:19:34.710896    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:34.712029    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:34.712938    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:34.714841    5044 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:34.715307    5044 memcache.go:265] 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-776f-6154-000000000023-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:34.919220Z",
                            "start": "2026-06-16T03:19:34.401510Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000023",
                        "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.204.45.177:/tmp/logs/pod-logs /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/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-776f-6154-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:35.436055Z",
                            "start": "2026-06-16T03:19:34.925648Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "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/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:35.695684Z",
                            "start": "2026-06-16T03:19:35.446999Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:00.085096",
                            "end": "2026-06-16 03:19:36.039743",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\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-776f-6154-000000000029-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:35.954647",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0616 03:19:36.024972    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.026100    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.027230    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.028019    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.030108    5090 memcache.go:265] 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": [
                                "E0616 03:19:36.024972    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.026100    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.027230    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.028019    5090 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.030108    5090 memcache.go:265] 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-776f-6154-000000000029-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:36.241206Z",
                            "start": "2026-06-16T03:19:35.721304Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.078512",
                            "end": "2026-06-16 03:19:36.582854",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\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-776f-6154-00000000002a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:36.504342",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0616 03:19:36.568710    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.569877    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.570660    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.572535    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:36.573351    5112 memcache.go:265] 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?\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "E0616 03:19:36.568710    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.569877    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.570660    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.572535    5112 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:36.573351    5112 memcache.go:265] 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?",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-776f-6154-00000000002a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:36.786711Z",
                            "start": "2026-06-16T03:19:36.267066Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.079504",
                            "end": "2026-06-16 03:19:37.161317",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\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-776f-6154-00000000002b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 03:19:37.081813",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0616 03:19:37.147672    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:37.148802    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:37.149520    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:37.151245    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0616 03:19:37.151986    5135 memcache.go:265] 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": [
                                "E0616 03:19:37.147672    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:37.148802    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:37.149520    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:37.151245    5135 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0616 03:19:37.151986    5135 memcache.go:265] 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-776f-6154-00000000002b-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:37.367161Z",
                            "start": "2026-06-16T03:19:36.849065Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "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.204.45.177:/tmp/logs/prometheus /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:37.875123Z",
                            "start": "2026-06-16T03:19:37.372314Z"
                        },
                        "id": "0242ac17-0010-776f-6154-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "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/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:38.156627Z",
                            "start": "2026-06-16T03:19:37.886846Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.012096",
                            "end": "2026-06-16 03:19:38.427746",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_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-776f-6154-000000000031-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-06-16 03:19:38.415650",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-776f-6154-000000000031-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:38.703938Z",
                            "start": "2026-06-16T03:19:38.184347Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "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.204.45.177:/tmp/logs/selenium /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-776f-6154-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:39.223610Z",
                            "start": "2026-06-16T03:19:38.710405Z"
                        },
                        "id": "0242ac17-0010-776f-6154-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "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-16T03:19:43.095311Z",
                    "start": "2026-06-16T03:19:39.999349Z"
                },
                "id": "0242ac17-0010-cb7a-3739-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-cb7a-3739-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:40.045041Z",
                            "start": "2026-06-16T03:19:40.010695Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cb7a-3739-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:40.079559Z",
                            "start": "2026-06-16T03:19:40.051589Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-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/4749f4bb68db48e3ba67b93f4932484f/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cb7a-3739-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:40.882562Z",
                            "start": "2026-06-16T03:19:40.086194Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-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.204.45.177:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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.204.45.177:/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/4749f4bb68db48e3ba67b93f4932484f/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cb7a-3739-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:42.464503Z",
                            "start": "2026-06-16T03:19:40.893690Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/artifacts/* /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007571",
                                    "end": "2026-06-16 03:19:42.830615",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/artifacts/* /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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-16 03:19:42.823044",
                                    "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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/docs/* /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007202",
                                    "end": "2026-06-16 03:19:43.047645",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/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/4749f4bb68db48e3ba67b93f4932484f/work/docs/* /var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/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-16 03:19:43.040443",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-cb7a-3739-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:43.095311Z",
                            "start": "2026-06-16T03:19:42.477658Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T03:19:43.603610Z",
                    "start": "2026-06-16T03:19:43.106149Z"
                },
                "id": "0242ac17-0010-cb7a-3739-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCXIcP9MJiwHArxiG+TQKBCuFkjvmdBUi+quCblmc3B8akhPUuGFiMG5uC0TAt5rizfs40GfNh0nj7L+a5sd6gmSjxCvQtpIv3lWmE4tcYpLKYyx0DRaspghgv3QfqvagEiWLv2ujXTH9mRkCJt4f78cNBr7yAngHoXxg+rdoiK0iYiqahvgmsA3c5nRGOonlpZaPdikzf5VUi3i8K0iQfoiu8gor93aWAyEWajAjCiPDHBcuBFMlxu9102rpruEanx9okgWYeUQcF5RZ+6tnw7yhuD48mC842ZvA5lMDUHQKu+tu5AI7c1mI6voGY3k1KtTKEeG5finzUU2Lg+OcIH1obO0oq6/vT4ikrRGmNVTxZZlJFRaGOnHb7qXd6HNaecXpxn+nSYa67HhBrsux8hQZp2L05Kf+jZ0Q3JGHHUCumPpPALNwWMbQYmbFntSpVRZqplRgnFCTK/hSyJwAC+aL9if9Jypo8/+BYr+eFtybESA8tBpk9YKlW0lfON5Fk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCXIcP9MJiwHArxiG+TQKBCuFkjvmdBUi+quCblmc3B8akhPUuGFiMG5uC0TAt5rizfs40GfNh0nj7L+a5sd6gmSjxCvQtpIv3lWmE4tcYpLKYyx0DRaspghgv3QfqvagEiWLv2ujXTH9mRkCJt4f78cNBr7yAngHoXxg+rdoiK0iYiqahvgmsA3c5nRGOonlpZaPdikzf5VUi3i8K0iQfoiu8gor93aWAyEWajAjCiPDHBcuBFMlxu9102rpruEanx9okgWYeUQcF5RZ+6tnw7yhuD48mC842ZvA5lMDUHQKu+tu5AI7c1mI6voGY3k1KtTKEeG5finzUU2Lg+OcIH1obO0oq6/vT4ikrRGmNVTxZZlJFRaGOnHb7qXd6HNaecXpxn+nSYa67HhBrsux8hQZp2L05Kf+jZ0Q3JGHHUCumPpPALNwWMbQYmbFntSpVRZqplRgnFCTK/hSyJwAC+aL9if9Jypo8/+BYr+eFtybESA8tBpk9YKlW0lfON5Fk= 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-cb7a-3739-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/4749f4bb68db48e3ba67b93f4932484f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T03:19:43.603610Z",
                            "start": "2026-06-16T03:19:43.112395Z"
                        },
                        "id": "0242ac17-0010-cb7a-3739-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
}
]
