[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-30T15:30:23.241136Z",
                    "start": "2026-04-30T15:30:20.876017Z"
                },
                "id": "0242ac17-0010-98cb-0682-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-04-30",
                                    "day": "30",
                                    "epoch": "1777563021",
                                    "epoch_int": "1777563021",
                                    "hour": "15",
                                    "iso8601": "2026-04-30T15:30:21Z",
                                    "iso8601_basic": "20260430T153021432970",
                                    "iso8601_basic_short": "20260430T153021",
                                    "iso8601_micro": "2026-04-30T15:30:21.432970Z",
                                    "minute": "30",
                                    "month": "04",
                                    "second": "21",
                                    "time": "15:30:21",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "17",
                                    "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/7d71ed05ed66418aa872d10a422cda93/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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": "180451",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-v03dGeAgpr6J/agent.180450",
                                    "TMP": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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.07861328125,
                                    "1m": 1.4990234375,
                                    "5m": 1.8125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 6034,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 18694,
                                        "used": 13396
                                    },
                                    "real": {
                                        "free": 6034,
                                        "total": 32090,
                                        "used": 26056
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666270,
                                        "inode_total": 20643840,
                                        "inode_used": 3977570,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 169321683,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 94619034,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 53350385,
                                        "inode_total": 67108864,
                                        "inode_used": 13758479,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 693541613568,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9215848,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31385732,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16666271,
                                        "inode_total": 20643840,
                                        "inode_used": 3977569,
                                        "mount": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37748113408,
                                        "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": 41226751,
                                "ansible_user_dir": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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-04-30T15:30:21.740506Z",
                            "start": "2026-04-30T15:30:20.883542Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:21.770906Z",
                            "start": "2026-04-30T15:30:21.745589Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "7d7/oss/7d71ed05ed66418aa872d10a422cda93"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:21.816346Z",
                            "start": "2026-04-30T15:30:21.782959Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-secretgen-controller\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/104\nEvent ID: 596db5c0-44a9-11f1-9745-67459106f1ea\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:21.866445Z",
                            "start": "2026-04-30T15:30:21.824289Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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: np0000171381\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.109\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:21.979232Z",
                            "start": "2026-04-30T15:30:21.869847Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:22.388745Z",
                            "start": "2026-04-30T15:30:21.987713Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "073da9d23c327c82eac488d874e341ce7b7014c3",
                            "dest": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "073da9d23c327c82eac488d874e341ce7b7014c3",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/.ansible/tmp/ansible-tmp-1777563022.4253438-84-186516099061004/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1fa7d1a4f1e37ae286e3877e02ef3572",
                            "mode": "0644",
                            "owner": "root",
                            "size": 233816,
                            "src": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/.ansible/tmp/ansible-tmp-1777563022.4253438-84-186516099061004/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:23.241136Z",
                            "start": "2026-04-30T15:30:22.394444Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-30T15:30:30.316796Z",
                    "start": "2026-04-30T15:30:23.251222Z"
                },
                "id": "0242ac17-0010-98cb-0682-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/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:23.530565Z",
                            "start": "2026-04-30T15:30:23.259439Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:23.581034Z",
                            "start": "2026-04-30T15:30:23.542208Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.413586",
                            "end": "2026-04-30 15:30:24.434889",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_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-98cb-0682-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-30 15:30:24.021303",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa.pub\nThe key fingerprint is:\nSHA256:Rfl3dku5e0XWotMrkyDlmGm+0WzSHJjVHht5TBM8t/o zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|          .. .+. |\n|         ... +o..|\n|          o.= oo+|\n|         =...=o+B|\n|        S*. o+o*+|\n|        *=o.o..o.|\n|       oo.*. o..o|\n|        .+  + .E.|\n|        ..   o  .|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:Rfl3dku5e0XWotMrkyDlmGm+0WzSHJjVHht5TBM8t/o zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|          .. .+. |",
                                "|         ... +o..|",
                                "|          o.= oo+|",
                                "|         =...=o+B|",
                                "|        S*. o+o*+|",
                                "|        *=o.o..o.|",
                                "|       oo.*. o..o|",
                                "|        .+  + .E.|",
                                "|        ..   o  .|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-98cb-0682-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:24.478727Z",
                            "start": "2026-04-30T15:30:23.602921Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:24.518346Z",
                            "start": "2026-04-30T15:30:24.484096Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:24.565110Z",
                            "start": "2026-04-30T15:30:24.539492Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDR1YT+8wlFs1X+DckCoRwnZ2cn0cnu/z56i84BTr5CpSFkkkAmPhKcDb8WvHGTQZi4Q8aqRc11C2kwg/u+YCgKBv31nx3KI9pcS4g3v+XLsP//lrOjyZzYpZrldceKeqT2QOVRTHyzJGTPphSAc7lz/TeuM31RSZsOLetv5QoJF4BBFrf0cqu9Hk1jWX/J/dk0Y9atXZeOxwBNJzxZQ2hE2bXx5GEOTvGZJmfJDVDQN7HTGU8JvsPxxUMzLJdy17OcxxM8+NEXz/bjfPYfzNSsEOY5PSaXN2SteuhA1af6xNntJmpDFLXuL7JxewH2hAswk/8+WZQPiAxqFdUspYIrpeY4Ob2+X17jL2etRlCvjfWFKkhRddrwoiCYfSUxAOnUrRPpGemW2p52Uzw4Oiqdn5OLFJ984K0mK/xBylmakms4YSBDe2uOJ6ikBGbRthihFhc/n22JW3sw5KqXeXyDQcIQm7G6VYcEZPlfp+A1yqop0KAm9frnNZHuZNcdIM8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDR1YT+8wlFs1X+DckCoRwnZ2cn0cnu/z56i84BTr5CpSFkkkAmPhKcDb8WvHGTQZi4Q8aqRc11C2kwg/u+YCgKBv31nx3KI9pcS4g3v+XLsP//lrOjyZzYpZrldceKeqT2QOVRTHyzJGTPphSAc7lz/TeuM31RSZsOLetv5QoJF4BBFrf0cqu9Hk1jWX/J/dk0Y9atXZeOxwBNJzxZQ2hE2bXx5GEOTvGZJmfJDVDQN7HTGU8JvsPxxUMzLJdy17OcxxM8+NEXz/bjfPYfzNSsEOY5PSaXN2SteuhA1af6xNntJmpDFLXuL7JxewH2hAswk/8+WZQPiAxqFdUspYIrpeY4Ob2+X17jL2etRlCvjfWFKkhRddrwoiCYfSUxAOnUrRPpGemW2p52Uzw4Oiqdn5OLFJ984K0mK/xBylmakms4YSBDe2uOJ6ikBGbRthihFhc/n22JW3sw5KqXeXyDQcIQm7G6VYcEZPlfp+A1yqop0KAm9frnNZHuZNcdIM8= 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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:25.117822Z",
                            "start": "2026-04-30T15:30:24.575811Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:25.354350Z",
                            "start": "2026-04-30T15:30:25.127766Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "297a221fb0ba0a937fbfc06f0170fae666064fc1",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "7d71ed05ed66418aa872d10a422cda93_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "297a221fb0ba0a937fbfc06f0170fae666064fc1",
                                    "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-1777563025.4017081-190-265184935574238/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "03917d318f3f405e1c47916b1c47c190",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777563025.4017081-190-265184935574238/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:25.898150Z",
                            "start": "2026-04-30T15:30:25.360266Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "5de685e5dcbe209d6025af50d94b4b674e4740cf",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "7d71ed05ed66418aa872d10a422cda93_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "5de685e5dcbe209d6025af50d94b4b674e4740cf",
                                    "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-1777563025.9470952-200-121337251381572/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7e597a12d1a908e0752d8d9e366ec017",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777563025.9470952-200-121337251381572/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:26.461479Z",
                            "start": "2026-04-30T15:30:25.905174Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:26.491016Z",
                            "start": "2026-04-30T15:30:26.466457Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:26.900530Z",
                            "start": "2026-04-30T15:30:26.500410Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa"
                            ],
                            "delta": "0:00:00.013092",
                            "end": "2026-04-30 15:30:27.140693",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_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-98cb-0682-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-30 15:30:27.127601",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/7d71ed05ed66418aa872d10a422cda93_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-98cb-0682-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:27.190343Z",
                            "start": "2026-04-30T15:30:26.917480Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:27.542497Z",
                            "start": "2026-04-30T15:30:27.195567Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:27.574588Z",
                            "start": "2026-04-30T15:30:27.549599Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:28.015945Z",
                            "start": "2026-04-30T15:30:27.597078Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:28.957730Z",
                            "start": "2026-04-30T15:30:28.021688Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:29.651841Z",
                            "start": "2026-04-30T15:30:28.970651Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-98cb-0682-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:30.316796Z",
                            "start": "2026-04-30T15:30:29.661954Z"
                        },
                        "id": "0242ac17-0010-98cb-0682-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-04-30T15:30:35.182970Z",
                    "start": "2026-04-30T15:30:31.091187Z"
                },
                "id": "0242ac17-0010-1411-6ce4-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-1777563031.1421835-5-99482888350223/uv-x86_64-unknown-linux-gnuk3vf1fci.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-1777563031.1421835-5-99482888350223/uv-x86_64-unknown-linux-gnuk3vf1fci.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1411-6ce4-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:34.635250Z",
                            "start": "2026-04-30T15:30:31.105381Z"
                        },
                        "id": "0242ac17-0010-1411-6ce4-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.013466",
                            "end": "2026-04-30 15:30:34.657494",
                            "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-1411-6ce4-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-30 15:30:34.644028",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-1411-6ce4-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1411-6ce4-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:35.182970Z",
                            "start": "2026-04-30T15:30:34.662758Z"
                        },
                        "id": "0242ac17-0010-1411-6ce4-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "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-04-30T15:35:00.392998Z",
                    "start": "2026-04-30T15:30:36.001033Z"
                },
                "id": "0242ac17-0010-7e16-a06f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "073da9d23c327c82eac488d874e341ce7b7014c3",
                            "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": "073da9d23c327c82eac488d874e341ce7b7014c3",
                                    "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-1777563036.0559032-5-61000077448775/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1fa7d1a4f1e37ae286e3877e02ef3572",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 233816,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777563036.0559032-5-61000077448775/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:30:37.000804Z",
                            "start": "2026-04-30T15:30:36.012933Z"
                        },
                        "id": "0242ac17-0010-7e16-a06f-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-04-30T15:30:37.367545Z",
                            "start": "2026-04-30T15:30:37.006472Z"
                        },
                        "id": "0242ac17-0010-7e16-a06f-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "secretgen-controller"
                            ],
                            "delta": "0:04:22.678396",
                            "end": "2026-04-30 15:35:00.051967",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s secretgen-controller",
                                    "_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-7e16-a06f-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-30 15:30:37.373571",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using 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 pygments (1.2MiB)\nDownloading ansible-core (2.3MiB)\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.3MiB)\n Downloading cryptography\n Downloading pygments\n Downloading kubernetes\n Downloading ansible-core\nInstalled 47 packages in 84ms\nINFO     Collection 'atmosphere.common' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...\nINFO     [secretgen-controller > dependency] Executing\nWARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml\nWARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml\nWARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nINFO     [secretgen-controller > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml\nINFO     [secretgen-controller > syntax] Executed: Successful\nINFO     [secretgen-controller > create] Executing\nWARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 30 April 2026  15:31:22 +0000 (0:00:00.032)       0:00:00.032 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nThursday 30 April 2026  15:31:23 +0000 (0:00:01.375)       0:00:01.408 ********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 30 April 2026  15:31:30 +0000 (0:00:07.199)       0:00:08.607 ********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nThursday 30 April 2026  15:31:31 +0000 (0:00:00.872)       0:00:09.480 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nThursday 30 April 2026  15:31:31 +0000 (0:00:00.504)       0:00:09.985 ********\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] ****\nThursday 30 April 2026  15:31:33 +0000 (0:00:01.551)       0:00:11.536 ********\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/controller-manager.conf does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\n[ERROR]: Task failed: Module failed: Path /etc/kubernetes/scheduler.conf does not exist !\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3\n\n30     - Restart \"kubelet\" service\n31\n32 - name: Switch API server to run on port 6443\n     ^ column 3\n\nfailed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}\n...ignoring\n\nTASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\nThursday 30 April 2026  15:31:34 +0000 (0:00:01.027)       0:00:12.564 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nThursday 30 April 2026  15:31:35 +0000 (0:00:00.443)       0:00:13.007 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nThursday 30 April 2026  15:31:35 +0000 (0:00:00.301)       0:00:13.309 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nThursday 30 April 2026  15:31:35 +0000 (0:00:00.033)       0:00:13.342 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nThursday 30 April 2026  15:31:35 +0000 (0:00:00.040)       0:00:13.382 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nThursday 30 April 2026  15:31:36 +0000 (0:00:01.021)       0:00:14.403 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nThursday 30 April 2026  15:31:36 +0000 (0:00:00.324)       0:00:14.728 ********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 30 April 2026  15:31:36 +0000 (0:00:00.051)       0:00:14.780 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:31:40 +0000 (0:00:03.903)       0:00:18.684 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 30 April 2026  15:31:41 +0000 (0:00:00.403)       0:00:19.087 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 30 April 2026  15:31:41 +0000 (0:00:00.031)       0:00:19.119 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:31:41 +0000 (0:00:00.335)       0:00:19.455 ********\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] *******************\nThursday 30 April 2026  15:31:41 +0000 (0:00:00.072)       0:00:19.528 ********\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created with a mode of 0700, this may cause issues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:31:42 +0000 (0:00:01.102)       0:00:20.630 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:31:42 +0000 (0:00:00.033)       0:00:20.663 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 30 April 2026  15:31:42 +0000 (0:00:00.322)       0:00:20.985 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:31:44 +0000 (0:00:01.076)       0:00:22.062 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 30 April 2026  15:31:44 +0000 (0:00:00.066)       0:00:22.128 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:31:45 +0000 (0:00:01.136)       0:00:23.264 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 30 April 2026  15:31:48 +0000 (0:00:03.215)       0:00:26.480 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 30 April 2026  15:31:48 +0000 (0:00:00.034)       0:00:26.514 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 30 April 2026  15:31:48 +0000 (0:00:00.029)       0:00:26.543 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 30 April 2026  15:31:48 +0000 (0:00:00.025)       0:00:26.569 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 30 April 2026  15:32:05 +0000 (0:00:16.548)       0:00:43.118 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 30 April 2026  15:32:05 +0000 (0:00:00.723)       0:00:43.842 ********\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] **********\nThursday 30 April 2026  15:32:07 +0000 (0:00:01.449)       0:00:45.291 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 30 April 2026  15:32:08 +0000 (0:00:00.802)       0:00:46.093 ********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 30 April 2026  15:32:08 +0000 (0:00:00.005)       0:00:46.099 ********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 30 April 2026  15:32:09 +0000 (0:00:00.917)       0:00:47.017 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 30 April 2026  15:32:09 +0000 (0:00:00.943)       0:00:47.960 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nThursday 30 April 2026  15:32:10 +0000 (0:00:00.746)       0:00:48.707 ********\n[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000171381's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3\n\n14\n15 ---\n16 - name: Retrieve the \"kubeadm-config\" ConfigMap\n     ^ column 3\n\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000171381's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.692)       0:00:49.400 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.029)       0:00:49.429 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.029)       0:00:49.459 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.034)       0:00:49.493 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.031)       0:00:49.525 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.034)       0:00:49.559 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.309)       0:00:49.868 ********\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] *******************\nThursday 30 April 2026  15:32:11 +0000 (0:00:00.040)       0:00:49.909 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:21 +0000 (0:00:09.144)       0:00:59.054 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:32:21 +0000 (0:00:00.034)       0:00:59.088 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:21 +0000 (0:00:00.306)       0:00:59.395 ********\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] *******************\nThursday 30 April 2026  15:32:21 +0000 (0:00:00.039)       0:00:59.435 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:22 +0000 (0:00:01.056)       0:01:00.491 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 30 April 2026  15:32:22 +0000 (0:00:00.039)       0:01:00.531 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 30 April 2026  15:32:22 +0000 (0:00:00.026)       0:01:00.557 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 30 April 2026  15:32:22 +0000 (0:00:00.027)       0:01:00.585 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 30 April 2026  15:32:22 +0000 (0:00:00.026)       0:01:00.611 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 30 April 2026  15:32:23 +0000 (0:00:00.994)       0:01:01.605 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 30 April 2026  15:32:24 +0000 (0:00:00.702)       0:01:02.308 ********\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] **********\nThursday 30 April 2026  15:32:25 +0000 (0:00:01.524)       0:01:03.833 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 30 April 2026  15:32:26 +0000 (0:00:00.803)       0:01:04.637 ********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 30 April 2026  15:32:26 +0000 (0:00:00.004)       0:01:04.641 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:32:27 +0000 (0:00:00.522)       0:01:05.164 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:27 +0000 (0:00:00.307)       0:01:05.471 ********\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] *******************\nThursday 30 April 2026  15:32:27 +0000 (0:00:00.060)       0:01:05.532 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:28 +0000 (0:00:00.879)       0:01:06.411 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:30 +0000 (0:00:01.662)       0:01:08.073 ********\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] *******************\nThursday 30 April 2026  15:32:30 +0000 (0:00:00.059)       0:01:08.133 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:31 +0000 (0:00:00.913)       0:01:09.046 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nThursday 30 April 2026  15:32:32 +0000 (0:00:01.724)       0:01:10.771 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nThursday 30 April 2026  15:32:33 +0000 (0:00:00.707)       0:01:11.478 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:32:33 +0000 (0:00:00.318)       0:01:11.797 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:34 +0000 (0:00:00.310)       0:01:12.108 ********\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] *******************\nThursday 30 April 2026  15:32:34 +0000 (0:00:00.062)       0:01:12.170 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:36 +0000 (0:00:02.068)       0:01:14.239 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nThursday 30 April 2026  15:32:39 +0000 (0:00:03.075)       0:01:17.314 ********\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] ***********\nThursday 30 April 2026  15:32:39 +0000 (0:00:00.050)       0:01:17.365 ********\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nThursday 30 April 2026  15:32:40 +0000 (0:00:01.032)       0:01:18.398 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nThursday 30 April 2026  15:32:40 +0000 (0:00:00.443)       0:01:18.841 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nThursday 30 April 2026  15:32:41 +0000 (0:00:00.712)       0:01:19.554 ********\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] *********************\nThursday 30 April 2026  15:32:43 +0000 (0:00:01.496)       0:01:21.050 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:32:43 +0000 (0:00:00.313)       0:01:21.364 ********\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] *******************\nThursday 30 April 2026  15:32:43 +0000 (0:00:00.040)       0:01:21.404 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:32:45 +0000 (0:00:02.326)       0:01:23.731 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nThursday 30 April 2026  15:32:45 +0000 (0:00:00.034)       0:01:23.766 ********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nThursday 30 April 2026  15:32:45 +0000 (0:00:00.054)       0:01:23.820 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nThursday 30 April 2026  15:32:45 +0000 (0:00:00.028)       0:01:23.849 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nThursday 30 April 2026  15:32:49 +0000 (0:00:03.887)       0:01:27.737 ********\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] ***\nThursday 30 April 2026  15:32:51 +0000 (0:00:02.092)       0:01:29.830 ********\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] ********\nThursday 30 April 2026  15:32:52 +0000 (0:00:00.894)       0:01:30.724 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nThursday 30 April 2026  15:32:53 +0000 (0:00:00.699)       0:01:31.424 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nThursday 30 April 2026  15:32:54 +0000 (0:00:00.714)       0:01:32.139 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nThursday 30 April 2026  15:32:54 +0000 (0:00:00.451)       0:01:32.591 ********\n[ERROR]: Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\n\nTask failed.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:86:7\n\n84       register: kubelet_swapon\n85\n86     - name: Disable swap\n         ^ column 7\n\n<<< caused by >>>\n\nConditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:91:11\n\n89       ignore_errors: \"{{ ansible_check_mode }}\"\n90       when:\n91         - kubelet_swapon.stdout\n             ^ column 11\n\nBroken conditionals can be temporarily allowed with the `ALLOW_BROKEN_CONDITIONALS` configuration option.\n\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nThursday 30 April 2026  15:32:54 +0000 (0:00:00.037)       0:01:32.628 ********\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Passing `warnings` to `exit_json` or `fail_json` is deprecated. This feature will be removed from ansible-core version 2.23. Use `AnsibleModule.warn` instead.\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nThursday 30 April 2026  15:32:55 +0000 (0:00:00.770)       0:01:33.399 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nThursday 30 April 2026  15:32:56 +0000 (0:00:00.694)       0:01:34.093 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nThursday 30 April 2026  15:32:56 +0000 (0:00:00.733)       0:01:34.826 ********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 30 April 2026  15:32:56 +0000 (0:00:00.004)       0:01:34.831 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nThursday 30 April 2026  15:32:57 +0000 (0:00:00.953)       0:01:35.785 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nThursday 30 April 2026  15:32:58 +0000 (0:00:00.780)       0:01:36.566 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nThursday 30 April 2026  15:32:59 +0000 (0:00:01.063)       0:01:37.629 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nThursday 30 April 2026  15:33:00 +0000 (0:00:00.904)       0:01:38.533 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nThursday 30 April 2026  15:33:00 +0000 (0:00:00.438)       0:01:38.972 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nThursday 30 April 2026  15:33:01 +0000 (0:00:00.595)       0:01:39.568 ********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nThursday 30 April 2026  15:33:01 +0000 (0:00:00.080)       0:01:39.648 ********\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] ***\nThursday 30 April 2026  15:33:01 +0000 (0:00:00.075)       0:01:39.724 ********\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.329)       0:01:40.054 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.038)       0:01:40.092 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.046)       0:01:40.138 ********\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.041)       0:01:40.179 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.765)       0:01:40.945 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nThursday 30 April 2026  15:33:02 +0000 (0:00:00.030)       0:01:40.976 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.034)       0:01:41.011 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.030)       0:01:41.041 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.035)       0:01:41.077 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.029)       0:01:41.106 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.022)       0:01:41.128 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nThursday 30 April 2026  15:33:03 +0000 (0:00:00.031)       0:01:41.159 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nThursday 30 April 2026  15:33:49 +0000 (0:00:46.472)       0:02:27.632 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nThursday 30 April 2026  15:33:49 +0000 (0:00:00.333)       0:02:27.966 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nThursday 30 April 2026  15:33:49 +0000 (0:00:00.028)       0:02:27.994 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nThursday 30 April 2026  15:33:50 +0000 (0:00:00.315)       0:02:28.309 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nThursday 30 April 2026  15:33:50 +0000 (0:00:00.323)       0:02:28.633 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nThursday 30 April 2026  15:33:50 +0000 (0:00:00.323)       0:02:28.956 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nThursday 30 April 2026  15:33:50 +0000 (0:00:00.032)       0:02:28.989 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nThursday 30 April 2026  15:33:51 +0000 (0:00:00.028)       0:02:29.018 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nThursday 30 April 2026  15:33:51 +0000 (0:00:00.033)       0:02:29.051 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nThursday 30 April 2026  15:33:58 +0000 (0:00:07.089)       0:02:36.140 ********\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nThursday 30 April 2026  15:33:58 +0000 (0:00:00.844)       0:02:36.985 ********\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.039)       0:02:37.024 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.035)       0:02:37.060 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.035)       0:02:37.096 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.034)       0:02:37.130 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.036)       0:02:37.166 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nThursday 30 April 2026  15:33:59 +0000 (0:00:00.576)       0:02:37.742 ********\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 30 April 2026  15:34:00 +0000 (0:00:01.028)       0:02:38.771 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 30 April 2026  15:34:01 +0000 (0:00:00.843)       0:02:39.614 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 30 April 2026  15:34:01 +0000 (0:00:00.313)       0:02:39.927 ********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 30 April 2026  15:34:03 +0000 (0:00:01.097)       0:02:41.025 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:34:03 +0000 (0:00:00.318)       0:02:41.343 ********\nok: [controller] => {\n    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 30 April 2026  15:34:03 +0000 (0:00:00.039)       0:02:41.383 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:34:04 +0000 (0:00:00.995)       0:02:42.378 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nThursday 30 April 2026  15:34:06 +0000 (0:00:01.790)       0:02:44.169 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nThursday 30 April 2026  15:34:06 +0000 (0:00:00.445)       0:02:44.614 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nThursday 30 April 2026  15:34:06 +0000 (0:00:00.357)       0:02:44.972 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nThursday 30 April 2026  15:34:07 +0000 (0:00:00.357)       0:02:45.329 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nThursday 30 April 2026  15:34:07 +0000 (0:00:00.312)       0:02:45.641 ********\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nThursday 30 April 2026  15:34:07 +0000 (0:00:00.309)       0:02:45.951 ********\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 30 April 2026  15:34:08 +0000 (0:00:00.050)       0:02:46.001 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 30 April 2026  15:34:08 +0000 (0:00:00.036)       0:02:46.038 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 30 April 2026  15:34:09 +0000 (0:00:01.248)       0:02:47.286 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 30 April 2026  15:34:11 +0000 (0:00:02.185)       0:02:49.472 ********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nThursday 30 April 2026  15:34:11 +0000 (0:00:00.045)       0:02:49.518 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nThursday 30 April 2026  15:34:12 +0000 (0:00:00.802)       0:02:50.321 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nThursday 30 April 2026  15:34:13 +0000 (0:00:00.956)       0:02:51.277 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 30 April 2026  15:34:15 +0000 (0:00:02.526)       0:02:53.803 ********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nThursday 30 April 2026  15:34:15 +0000 (0:00:00.026)       0:02:53.830 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************\nThursday 30 April 2026  15:34:16 +0000 (0:00:00.611)       0:02:54.441 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************\nThursday 30 April 2026  15:34:48 +0000 (0:00:32.155)       0:03:26.597 ********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=118  changed=54   unreachable=0    failed=0    skipped=34   rescued=0    ignored=3\n\n\nTASKS RECAP ********************************************************************\nThursday 30 April 2026  15:34:49 +0000 (0:00:00.802)       0:03:27.400 ********\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 46.47s\nvexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 32.16s\nvexxhost.containers.containerd : Install AppArmor packages ------------- 16.55s\nvexxhost.containers.download_artifact : Download item ------------------- 9.14s\nInstall Debian packages ------------------------------------------------- 7.20s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.09s\nGathering Facts --------------------------------------------------------- 3.90s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.89s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.22s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.08s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.53s\nvexxhost.containers.download_artifact : Download item ------------------- 2.33s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.19s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.09s\nvexxhost.containers.download_artifact : Download item ------------------- 2.07s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.90s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.79s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.72s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.66s\nvexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.55s\nINFO     [secretgen-controller > prepare] Executed: Successful\nINFO     [secretgen-controller > converge] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nThursday 30 April 2026  15:34:50 +0000 (0:00:00.013)       0:00:00.013 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 30 April 2026  15:34:52 +0000 (0:00:01.498)       0:00:01.511 ********\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.50s\nINFO     [secretgen-controller > converge] Executed: Successful\nINFO     [secretgen-controller > idempotence] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nThursday 30 April 2026  15:34:53 +0000 (0:00:00.013)       0:00:00.013 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 30 April 2026  15:34:54 +0000 (0:00:01.484)       0:00:01.497 ********\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.48s\nINFO     [secretgen-controller > idempotence] Executed: Successful\nINFO     [secretgen-controller > side_effect] Executing\nWARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 30 April 2026  15:34:55 +0000 (0:00:00.009)       0:00:00.009 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Wait for secretgen-controller deployment to be available] ****************\nThursday 30 April 2026  15:34:57 +0000 (0:00:01.295)       0:00:01.304 ********\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\nok: [controller]\n\nTASK [Create a test Password resource] *****************************************\nThursday 30 April 2026  15:34:58 +0000 (0:00:00.974)       0:00:02.278 ********\nchanged: [controller]\n\nTASK [Wait for test-password secret to be generated] ***************************\nThursday 30 April 2026  15:34:59 +0000 (0:00:00.993)       0:00:03.272 ********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 30 April 2026  15:34:59 +0000 (0:00:00.808)       0:00:04.080 ********\n===============================================================================\nGathering Facts --------------------------------------------------------- 1.30s\nCreate a test Password resource ----------------------------------------- 0.99s\nWait for secretgen-controller deployment to be available ---------------- 0.97s\nWait for test-password secret to be generated --------------------------- 0.81s\nINFO     [secretgen-controller > verify] Executed: Successful\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "stdout_lines": [
                                "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 pygments (1.2MiB)",
                                "Downloading ansible-core (2.3MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 47 packages in 84ms",
                                "INFO     Collection 'atmosphere.common' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [secretgen-controller > dependency] Executing",
                                "WARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "INFO     [secretgen-controller > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml",
                                "INFO     [secretgen-controller > syntax] Executed: Successful",
                                "INFO     [secretgen-controller > create] Executing",
                                "WARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 30 April 2026  15:31:22 +0000 (0:00:00.032)       0:00:00.032 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Thursday 30 April 2026  15:31:23 +0000 (0:00:01.375)       0:00:01.408 ********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 30 April 2026  15:31:30 +0000 (0:00:07.199)       0:00:08.607 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Thursday 30 April 2026  15:31:31 +0000 (0:00:00.872)       0:00:09.480 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Thursday 30 April 2026  15:31:31 +0000 (0:00:00.504)       0:00:09.985 ********",
                                "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] ****",
                                "Thursday 30 April 2026  15:31:33 +0000 (0:00:01.551)       0:00:11.536 ********",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/controller-manager.conf does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "[ERROR]: Task failed: Module failed: Path /etc/kubernetes/scheduler.conf does not exist !",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kube_vip/tasks/main.yml:32:3",
                                "",
                                "30     - Restart \"kubelet\" service",
                                "31",
                                "32 - name: Switch API server to run on port 6443",
                                "     ^ column 3",
                                "",
                                "failed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "Thursday 30 April 2026  15:31:34 +0000 (0:00:01.027)       0:00:12.564 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Thursday 30 April 2026  15:31:35 +0000 (0:00:00.443)       0:00:13.007 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Thursday 30 April 2026  15:31:35 +0000 (0:00:00.301)       0:00:13.309 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Thursday 30 April 2026  15:31:35 +0000 (0:00:00.033)       0:00:13.342 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Thursday 30 April 2026  15:31:35 +0000 (0:00:00.040)       0:00:13.382 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Thursday 30 April 2026  15:31:36 +0000 (0:00:01.021)       0:00:14.403 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Thursday 30 April 2026  15:31:36 +0000 (0:00:00.324)       0:00:14.728 ********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 30 April 2026  15:31:36 +0000 (0:00:00.051)       0:00:14.780 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:31:40 +0000 (0:00:03.903)       0:00:18.684 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 30 April 2026  15:31:41 +0000 (0:00:00.403)       0:00:19.087 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 30 April 2026  15:31:41 +0000 (0:00:00.031)       0:00:19.119 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:31:41 +0000 (0:00:00.335)       0:00:19.455 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:31:41 +0000 (0:00:00.072)       0:00:19.528 ********",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created with a mode of 0700, this may cause issues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:31:42 +0000 (0:00:01.102)       0:00:20.630 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:31:42 +0000 (0:00:00.033)       0:00:20.663 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 30 April 2026  15:31:42 +0000 (0:00:00.322)       0:00:20.985 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:31:44 +0000 (0:00:01.076)       0:00:22.062 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:31:44 +0000 (0:00:00.066)       0:00:22.128 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:31:45 +0000 (0:00:01.136)       0:00:23.264 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 30 April 2026  15:31:48 +0000 (0:00:03.215)       0:00:26.480 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 30 April 2026  15:31:48 +0000 (0:00:00.034)       0:00:26.514 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 30 April 2026  15:31:48 +0000 (0:00:00.029)       0:00:26.543 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 30 April 2026  15:31:48 +0000 (0:00:00.025)       0:00:26.569 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 30 April 2026  15:32:05 +0000 (0:00:16.548)       0:00:43.118 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 30 April 2026  15:32:05 +0000 (0:00:00.723)       0:00:43.842 ********",
                                "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] **********",
                                "Thursday 30 April 2026  15:32:07 +0000 (0:00:01.449)       0:00:45.291 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 30 April 2026  15:32:08 +0000 (0:00:00.802)       0:00:46.093 ********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 30 April 2026  15:32:08 +0000 (0:00:00.005)       0:00:46.099 ********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 30 April 2026  15:32:09 +0000 (0:00:00.917)       0:00:47.017 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 30 April 2026  15:32:09 +0000 (0:00:00.943)       0:00:47.960 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Thursday 30 April 2026  15:32:10 +0000 (0:00:00.746)       0:00:48.707 ********",
                                "[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000171381's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3",
                                "",
                                "14",
                                "15 ---",
                                "16 - name: Retrieve the \"kubeadm-config\" ConfigMap",
                                "     ^ column 3",
                                "",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000171381's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.692)       0:00:49.400 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.029)       0:00:49.429 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.029)       0:00:49.459 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.034)       0:00:49.493 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.031)       0:00:49.525 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.034)       0:00:49.559 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.309)       0:00:49.868 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:32:11 +0000 (0:00:00.040)       0:00:49.909 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:21 +0000 (0:00:09.144)       0:00:59.054 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:32:21 +0000 (0:00:00.034)       0:00:59.088 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:21 +0000 (0:00:00.306)       0:00:59.395 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:32:21 +0000 (0:00:00.039)       0:00:59.435 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:22 +0000 (0:00:01.056)       0:01:00.491 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 30 April 2026  15:32:22 +0000 (0:00:00.039)       0:01:00.531 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 30 April 2026  15:32:22 +0000 (0:00:00.026)       0:01:00.557 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 30 April 2026  15:32:22 +0000 (0:00:00.027)       0:01:00.585 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 30 April 2026  15:32:22 +0000 (0:00:00.026)       0:01:00.611 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 30 April 2026  15:32:23 +0000 (0:00:00.994)       0:01:01.605 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 30 April 2026  15:32:24 +0000 (0:00:00.702)       0:01:02.308 ********",
                                "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] **********",
                                "Thursday 30 April 2026  15:32:25 +0000 (0:00:01.524)       0:01:03.833 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 30 April 2026  15:32:26 +0000 (0:00:00.803)       0:01:04.637 ********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 30 April 2026  15:32:26 +0000 (0:00:00.004)       0:01:04.641 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:32:27 +0000 (0:00:00.522)       0:01:05.164 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:27 +0000 (0:00:00.307)       0:01:05.471 ********",
                                "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] *******************",
                                "Thursday 30 April 2026  15:32:27 +0000 (0:00:00.060)       0:01:05.532 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:28 +0000 (0:00:00.879)       0:01:06.411 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:30 +0000 (0:00:01.662)       0:01:08.073 ********",
                                "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] *******************",
                                "Thursday 30 April 2026  15:32:30 +0000 (0:00:00.059)       0:01:08.133 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:31 +0000 (0:00:00.913)       0:01:09.046 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Thursday 30 April 2026  15:32:32 +0000 (0:00:01.724)       0:01:10.771 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Thursday 30 April 2026  15:32:33 +0000 (0:00:00.707)       0:01:11.478 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:32:33 +0000 (0:00:00.318)       0:01:11.797 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:34 +0000 (0:00:00.310)       0:01:12.108 ********",
                                "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] *******************",
                                "Thursday 30 April 2026  15:32:34 +0000 (0:00:00.062)       0:01:12.170 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:36 +0000 (0:00:02.068)       0:01:14.239 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Thursday 30 April 2026  15:32:39 +0000 (0:00:03.075)       0:01:17.314 ********",
                                "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] ***********",
                                "Thursday 30 April 2026  15:32:39 +0000 (0:00:00.050)       0:01:17.365 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Thursday 30 April 2026  15:32:40 +0000 (0:00:01.032)       0:01:18.398 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Thursday 30 April 2026  15:32:40 +0000 (0:00:00.443)       0:01:18.841 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Thursday 30 April 2026  15:32:41 +0000 (0:00:00.712)       0:01:19.554 ********",
                                "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] *********************",
                                "Thursday 30 April 2026  15:32:43 +0000 (0:00:01.496)       0:01:21.050 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:32:43 +0000 (0:00:00.313)       0:01:21.364 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:32:43 +0000 (0:00:00.040)       0:01:21.404 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:32:45 +0000 (0:00:02.326)       0:01:23.731 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Thursday 30 April 2026  15:32:45 +0000 (0:00:00.034)       0:01:23.766 ********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Thursday 30 April 2026  15:32:45 +0000 (0:00:00.054)       0:01:23.820 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Thursday 30 April 2026  15:32:45 +0000 (0:00:00.028)       0:01:23.849 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Thursday 30 April 2026  15:32:49 +0000 (0:00:03.887)       0:01:27.737 ********",
                                "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] ***",
                                "Thursday 30 April 2026  15:32:51 +0000 (0:00:02.092)       0:01:29.830 ********",
                                "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] ********",
                                "Thursday 30 April 2026  15:32:52 +0000 (0:00:00.894)       0:01:30.724 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Thursday 30 April 2026  15:32:53 +0000 (0:00:00.699)       0:01:31.424 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Thursday 30 April 2026  15:32:54 +0000 (0:00:00.714)       0:01:32.139 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Thursday 30 April 2026  15:32:54 +0000 (0:00:00.451)       0:01:32.591 ********",
                                "[ERROR]: Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.",
                                "",
                                "Task failed.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:86:7",
                                "",
                                "84       register: kubelet_swapon",
                                "85",
                                "86     - name: Disable swap",
                                "         ^ column 7",
                                "",
                                "<<< caused by >>>",
                                "",
                                "Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:91:11",
                                "",
                                "89       ignore_errors: \"{{ ansible_check_mode }}\"",
                                "90       when:",
                                "91         - kubelet_swapon.stdout",
                                "             ^ column 11",
                                "",
                                "Broken conditionals can be temporarily allowed with the `ALLOW_BROKEN_CONDITIONALS` configuration option.",
                                "",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Thursday 30 April 2026  15:32:54 +0000 (0:00:00.037)       0:01:32.628 ********",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Passing `warnings` to `exit_json` or `fail_json` is deprecated. This feature will be removed from ansible-core version 2.23. Use `AnsibleModule.warn` instead.",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Thursday 30 April 2026  15:32:55 +0000 (0:00:00.770)       0:01:33.399 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Thursday 30 April 2026  15:32:56 +0000 (0:00:00.694)       0:01:34.093 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Thursday 30 April 2026  15:32:56 +0000 (0:00:00.733)       0:01:34.826 ********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 30 April 2026  15:32:56 +0000 (0:00:00.004)       0:01:34.831 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Thursday 30 April 2026  15:32:57 +0000 (0:00:00.953)       0:01:35.785 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Thursday 30 April 2026  15:32:58 +0000 (0:00:00.780)       0:01:36.566 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Thursday 30 April 2026  15:32:59 +0000 (0:00:01.063)       0:01:37.629 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Thursday 30 April 2026  15:33:00 +0000 (0:00:00.904)       0:01:38.533 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Thursday 30 April 2026  15:33:00 +0000 (0:00:00.438)       0:01:38.972 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Thursday 30 April 2026  15:33:01 +0000 (0:00:00.595)       0:01:39.568 ********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Thursday 30 April 2026  15:33:01 +0000 (0:00:00.080)       0:01:39.648 ********",
                                "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] ***",
                                "Thursday 30 April 2026  15:33:01 +0000 (0:00:00.075)       0:01:39.724 ********",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.329)       0:01:40.054 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.038)       0:01:40.092 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.046)       0:01:40.138 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.041)       0:01:40.179 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.765)       0:01:40.945 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Thursday 30 April 2026  15:33:02 +0000 (0:00:00.030)       0:01:40.976 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.034)       0:01:41.011 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.030)       0:01:41.041 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.035)       0:01:41.077 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.029)       0:01:41.106 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.022)       0:01:41.128 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Thursday 30 April 2026  15:33:03 +0000 (0:00:00.031)       0:01:41.159 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Thursday 30 April 2026  15:33:49 +0000 (0:00:46.472)       0:02:27.632 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Thursday 30 April 2026  15:33:49 +0000 (0:00:00.333)       0:02:27.966 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Thursday 30 April 2026  15:33:49 +0000 (0:00:00.028)       0:02:27.994 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Thursday 30 April 2026  15:33:50 +0000 (0:00:00.315)       0:02:28.309 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Thursday 30 April 2026  15:33:50 +0000 (0:00:00.323)       0:02:28.633 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Thursday 30 April 2026  15:33:50 +0000 (0:00:00.323)       0:02:28.956 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Thursday 30 April 2026  15:33:50 +0000 (0:00:00.032)       0:02:28.989 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Thursday 30 April 2026  15:33:51 +0000 (0:00:00.028)       0:02:29.018 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Thursday 30 April 2026  15:33:51 +0000 (0:00:00.033)       0:02:29.051 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Thursday 30 April 2026  15:33:58 +0000 (0:00:07.089)       0:02:36.140 ********",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Thursday 30 April 2026  15:33:58 +0000 (0:00:00.844)       0:02:36.985 ********",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.039)       0:02:37.024 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.035)       0:02:37.060 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.035)       0:02:37.096 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.034)       0:02:37.130 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.036)       0:02:37.166 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Thursday 30 April 2026  15:33:59 +0000 (0:00:00.576)       0:02:37.742 ********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 30 April 2026  15:34:00 +0000 (0:00:01.028)       0:02:38.771 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 30 April 2026  15:34:01 +0000 (0:00:00.843)       0:02:39.614 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 30 April 2026  15:34:01 +0000 (0:00:00.313)       0:02:39.927 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 30 April 2026  15:34:03 +0000 (0:00:01.097)       0:02:41.025 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:34:03 +0000 (0:00:00.318)       0:02:41.343 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:34:03 +0000 (0:00:00.039)       0:02:41.383 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:34:04 +0000 (0:00:00.995)       0:02:42.378 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Thursday 30 April 2026  15:34:06 +0000 (0:00:01.790)       0:02:44.169 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Thursday 30 April 2026  15:34:06 +0000 (0:00:00.445)       0:02:44.614 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Thursday 30 April 2026  15:34:06 +0000 (0:00:00.357)       0:02:44.972 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Thursday 30 April 2026  15:34:07 +0000 (0:00:00.357)       0:02:45.329 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Thursday 30 April 2026  15:34:07 +0000 (0:00:00.312)       0:02:45.641 ********",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Thursday 30 April 2026  15:34:07 +0000 (0:00:00.309)       0:02:45.951 ********",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 30 April 2026  15:34:08 +0000 (0:00:00.050)       0:02:46.001 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 30 April 2026  15:34:08 +0000 (0:00:00.036)       0:02:46.038 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 30 April 2026  15:34:09 +0000 (0:00:01.248)       0:02:47.286 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 30 April 2026  15:34:11 +0000 (0:00:02.185)       0:02:49.472 ********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Thursday 30 April 2026  15:34:11 +0000 (0:00:00.045)       0:02:49.518 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Thursday 30 April 2026  15:34:12 +0000 (0:00:00.802)       0:02:50.321 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Thursday 30 April 2026  15:34:13 +0000 (0:00:00.956)       0:02:51.277 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 30 April 2026  15:34:15 +0000 (0:00:02.526)       0:02:53.803 ********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Thursday 30 April 2026  15:34:15 +0000 (0:00:00.026)       0:02:53.830 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************",
                                "Thursday 30 April 2026  15:34:16 +0000 (0:00:00.611)       0:02:54.441 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************",
                                "Thursday 30 April 2026  15:34:48 +0000 (0:00:32.155)       0:03:26.597 ********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=118  changed=54   unreachable=0    failed=0    skipped=34   rescued=0    ignored=3",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 30 April 2026  15:34:49 +0000 (0:00:00.802)       0:03:27.400 ********",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 46.47s",
                                "vexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 32.16s",
                                "vexxhost.containers.containerd : Install AppArmor packages ------------- 16.55s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 9.14s",
                                "Install Debian packages ------------------------------------------------- 7.20s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.09s",
                                "Gathering Facts --------------------------------------------------------- 3.90s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.89s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.22s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.08s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.53s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.33s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.19s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.09s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.07s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.90s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.79s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.72s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.66s",
                                "vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.55s",
                                "INFO     [secretgen-controller > prepare] Executed: Successful",
                                "INFO     [secretgen-controller > converge] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Thursday 30 April 2026  15:34:50 +0000 (0:00:00.013)       0:00:00.013 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 30 April 2026  15:34:52 +0000 (0:00:01.498)       0:00:01.511 ********",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.50s",
                                "INFO     [secretgen-controller > converge] Executed: Successful",
                                "INFO     [secretgen-controller > idempotence] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Thursday 30 April 2026  15:34:53 +0000 (0:00:00.013)       0:00:00.013 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 30 April 2026  15:34:54 +0000 (0:00:01.484)       0:00:01.497 ********",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.48s",
                                "INFO     [secretgen-controller > idempotence] Executed: Successful",
                                "INFO     [secretgen-controller > side_effect] Executing",
                                "WARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 30 April 2026  15:34:55 +0000 (0:00:00.009)       0:00:00.009 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Wait for secretgen-controller deployment to be available] ****************",
                                "Thursday 30 April 2026  15:34:57 +0000 (0:00:01.295)       0:00:01.304 ********",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "ok: [controller]",
                                "",
                                "TASK [Create a test Password resource] *****************************************",
                                "Thursday 30 April 2026  15:34:58 +0000 (0:00:00.974)       0:00:02.278 ********",
                                "changed: [controller]",
                                "",
                                "TASK [Wait for test-password secret to be generated] ***************************",
                                "Thursday 30 April 2026  15:34:59 +0000 (0:00:00.993)       0:00:03.272 ********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 30 April 2026  15:34:59 +0000 (0:00:00.808)       0:00:04.080 ********",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 1.30s",
                                "Create a test Password resource ----------------------------------------- 0.99s",
                                "Wait for secretgen-controller deployment to be available ---------------- 0.97s",
                                "Wait for test-password secret to be generated --------------------------- 0.81s",
                                "INFO     [secretgen-controller > verify] Executed: Successful",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0010-7e16-a06f-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:00.392998Z",
                            "start": "2026-04-30T15:30:37.394354Z"
                        },
                        "id": "0242ac17-0010-7e16-a06f-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-30T15:35:05.759453Z",
                    "start": "2026-04-30T15:35:01.157871Z"
                },
                "id": "0242ac17-0010-0dda-995b-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-0dda-995b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:01.226079Z",
                            "start": "2026-04-30T15:35:01.170398Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0dda-995b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:01.296251Z",
                            "start": "2026-04-30T15:35:01.232795Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-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/7d71ed05ed66418aa872d10a422cda93/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0dda-995b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:02.151701Z",
                            "start": "2026-04-30T15:35:01.301620Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-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.109:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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.109:/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/7d71ed05ed66418aa872d10a422cda93/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.109:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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.109:/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/7d71ed05ed66418aa872d10a422cda93/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.109:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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.109:/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/7d71ed05ed66418aa872d10a422cda93/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0dda-995b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:03.852001Z",
                            "start": "2026-04-30T15:35:02.161378Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/artifacts/* /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008250",
                                    "end": "2026-04-30 15:35:04.279078",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/artifacts/* /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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-04-30 15:35:04.270828",
                                    "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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/docs/* /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.009008",
                                    "end": "2026-04-30 15:35:05.708890",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/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/7d71ed05ed66418aa872d10a422cda93/work/docs/* /var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/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-04-30 15:35:05.699882",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0dda-995b-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:05.759453Z",
                            "start": "2026-04-30T15:35:03.866416Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-30T15:35:06.274453Z",
                    "start": "2026-04-30T15:35:05.773517Z"
                },
                "id": "0242ac17-0010-0dda-995b-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDR1YT+8wlFs1X+DckCoRwnZ2cn0cnu/z56i84BTr5CpSFkkkAmPhKcDb8WvHGTQZi4Q8aqRc11C2kwg/u+YCgKBv31nx3KI9pcS4g3v+XLsP//lrOjyZzYpZrldceKeqT2QOVRTHyzJGTPphSAc7lz/TeuM31RSZsOLetv5QoJF4BBFrf0cqu9Hk1jWX/J/dk0Y9atXZeOxwBNJzxZQ2hE2bXx5GEOTvGZJmfJDVDQN7HTGU8JvsPxxUMzLJdy17OcxxM8+NEXz/bjfPYfzNSsEOY5PSaXN2SteuhA1af6xNntJmpDFLXuL7JxewH2hAswk/8+WZQPiAxqFdUspYIrpeY4Ob2+X17jL2etRlCvjfWFKkhRddrwoiCYfSUxAOnUrRPpGemW2p52Uzw4Oiqdn5OLFJ984K0mK/xBylmakms4YSBDe2uOJ6ikBGbRthihFhc/n22JW3sw5KqXeXyDQcIQm7G6VYcEZPlfp+A1yqop0KAm9frnNZHuZNcdIM8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDR1YT+8wlFs1X+DckCoRwnZ2cn0cnu/z56i84BTr5CpSFkkkAmPhKcDb8WvHGTQZi4Q8aqRc11C2kwg/u+YCgKBv31nx3KI9pcS4g3v+XLsP//lrOjyZzYpZrldceKeqT2QOVRTHyzJGTPphSAc7lz/TeuM31RSZsOLetv5QoJF4BBFrf0cqu9Hk1jWX/J/dk0Y9atXZeOxwBNJzxZQ2hE2bXx5GEOTvGZJmfJDVDQN7HTGU8JvsPxxUMzLJdy17OcxxM8+NEXz/bjfPYfzNSsEOY5PSaXN2SteuhA1af6xNntJmpDFLXuL7JxewH2hAswk/8+WZQPiAxqFdUspYIrpeY4Ob2+X17jL2etRlCvjfWFKkhRddrwoiCYfSUxAOnUrRPpGemW2p52Uzw4Oiqdn5OLFJ984K0mK/xBylmakms4YSBDe2uOJ6ikBGbRthihFhc/n22JW3sw5KqXeXyDQcIQm7G6VYcEZPlfp+A1yqop0KAm9frnNZHuZNcdIM8= 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-0dda-995b-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/7d71ed05ed66418aa872d10a422cda93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-30T15:35:06.274453Z",
                            "start": "2026-04-30T15:35:05.781049Z"
                        },
                        "id": "0242ac17-0010-0dda-995b-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
}
]
