[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-05T16:14:21.189906Z",
                    "start": "2026-03-05T16:14:18.756202Z"
                },
                "id": "0242ac17-0011-d6b4-356e-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-03-05",
                                    "day": "05",
                                    "epoch": "1772727259",
                                    "epoch_int": "1772727259",
                                    "hour": "16",
                                    "iso8601": "2026-03-05T16:14:19Z",
                                    "iso8601_basic": "20260305T161419366588",
                                    "iso8601_basic_short": "20260305T161419",
                                    "iso8601_micro": "2026-03-05T16:14:19.366588Z",
                                    "minute": "14",
                                    "month": "03",
                                    "second": "19",
                                    "time": "16:14:19",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "09",
                                    "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/35ed07f9b6174a9391e872ef203c4911/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work",
                                    "HOSTNAME": "0a8996d2b663",
                                    "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/35ed07f9b6174a9391e872ef203c4911/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": "2543737",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-3kc7ujXnXwZX/agent.2543736",
                                    "TMP": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "0a8996d2b663",
                                "ansible_hostname": "0a8996d2b663",
                                "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.45751953125,
                                    "1m": 5.6357421875,
                                    "5m": 3.2666015625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 5157,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17803,
                                        "used": 14287
                                    },
                                    "real": {
                                        "free": 5157,
                                        "total": 32090,
                                        "used": 26933
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8986443,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615137,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808470528,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986443,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615137,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808470528,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986442,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615138,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808466432,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 225457104,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 38483613,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 64116126,
                                        "inode_total": 67108864,
                                        "inode_used": 2992738,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 923472297984,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8986433,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31615147,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16772612,
                                        "inode_total": 20643840,
                                        "inode_used": 3871228,
                                        "mount": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36808429568,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "0a8996d2b663",
                                "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": 36390989,
                                "ansible_user_dir": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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-03-05T16:14:19.670172Z",
                            "start": "2026-03-05T16:14:18.763682Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:19.694253Z",
                            "start": "2026-03-05T16:14:19.675268Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "35e/oss/35ed07f9b6174a9391e872ef203c4911"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:19.736757Z",
                            "start": "2026-03-05T16:14:19.707552Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: ansible-collection-kubernetes-molecule-cluster-api\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/ansible-collection-kubernetes/pull/234\nEvent ID: f483c040-18ad-11f1-82de-983357ded420\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:19.783867Z",
                            "start": "2026-03-05T16:14:19.744467Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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: np0000157877\nUsername: zuul\nDistro: Debian 13.3\nProvider: yul1\nRegion: ca-ymq-1\nLabel: debian-trixie\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.149\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:19.872204Z",
                            "start": "2026-03-05T16:14:19.786515Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:20.303390Z",
                            "start": "2026-03-05T16:14:19.882723Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "f3bd0e1b964bf4e319b17e18926248450df84b5a",
                            "dest": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "f3bd0e1b964bf4e319b17e18926248450df84b5a",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/.ansible/tmp/ansible-tmp-1772727260.3402634-84-147183075340715/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f7a667fe6319d62dd3a7fd2eb41444cd",
                            "mode": "0644",
                            "owner": "root",
                            "size": 24038,
                            "src": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/.ansible/tmp/ansible-tmp-1772727260.3402634-84-147183075340715/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:21.189906Z",
                            "start": "2026-03-05T16:14:20.311421Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-05T16:14:28.992434Z",
                    "start": "2026-03-05T16:14:21.202564Z"
                },
                "id": "0242ac17-0011-d6b4-356e-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/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:21.454262Z",
                            "start": "2026-03-05T16:14:21.211198Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:21.493167Z",
                            "start": "2026-03-05T16:14:21.464160Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.100381",
                            "end": "2026-03-05 16:14:23.068879",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_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-0011-d6b4-356e-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-05 16:14:21.968498",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa.pub\nThe key fingerprint is:\nSHA256:QLev7crZjynFAJ//Viu34hY8VIIcYpDaNFdfFqnZDPU zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|      oo+ooo .=o |\n|     .=o.oo.ooo. |\n|     +.=..  .O  E|\n|    . ..+.  + o  |\n|        S+.o     |\n|         o+ + .  |\n|        .... + . |\n|       ..+ o* o  |\n|        +o==o+.. |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:QLev7crZjynFAJ//Viu34hY8VIIcYpDaNFdfFqnZDPU zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|      oo+ooo .=o |",
                                "|     .=o.oo.ooo. |",
                                "|     +.=..  .O  E|",
                                "|    . ..+.  + o  |",
                                "|        S+.o     |",
                                "|         o+ + .  |",
                                "|        .... + . |",
                                "|       ..+ o* o  |",
                                "|        +o==o+.. |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-d6b4-356e-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:23.109840Z",
                            "start": "2026-03-05T16:14:21.524830Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:23.154735Z",
                            "start": "2026-03-05T16:14:23.114246Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:23.193732Z",
                            "start": "2026-03-05T16:14:23.168602Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyNYcoGpW1grY4D84xOmRDM5FIgwalOoRqU2u7xTOW62hw5/8B5ySDNrmYWwY4Wc4Xs5JWkXDYRp2cxXHV4FtbOz0BDVnCPl3oGjE+EYNcfuqB9y+qg11qIiuoUhO3pN6JKCH5hWhJuGYRoPtCf0Vd+bngFNzHT0b3dE83EepspQe/b1XmwNOP9QCy+WNW8SziKCaQcg+2tzJ82wuZ/zlE/eDbvGHQ2DvpGHMCUmGU74wklFq4cMkkKp4QwnD8QDPDjuM8jLgREqwAoSxCE7NmQgQE6s1ghYaXGkkKzkudnQH7sZjx9Yb6gHP/dCv0p4/ip8Z77k+q2AqkOD3hJwQW/xIPM/3O4mcGJ+eJTL4oDZ+CoMSI/VtdAQDTCSjUR2Jp4yO8sKOqmg3KPaASHZyvuzHGpQAR3J6cwwFUqqWbGy2JWoPOE7MjarkW6RW/fjRN8GNap1cFPRvbT+Kt2iMtmbuBC0oBIBHueLufDHqzGqskvB8a6x7Mpvs4kMwiZlM= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyNYcoGpW1grY4D84xOmRDM5FIgwalOoRqU2u7xTOW62hw5/8B5ySDNrmYWwY4Wc4Xs5JWkXDYRp2cxXHV4FtbOz0BDVnCPl3oGjE+EYNcfuqB9y+qg11qIiuoUhO3pN6JKCH5hWhJuGYRoPtCf0Vd+bngFNzHT0b3dE83EepspQe/b1XmwNOP9QCy+WNW8SziKCaQcg+2tzJ82wuZ/zlE/eDbvGHQ2DvpGHMCUmGU74wklFq4cMkkKp4QwnD8QDPDjuM8jLgREqwAoSxCE7NmQgQE6s1ghYaXGkkKzkudnQH7sZjx9Yb6gHP/dCv0p4/ip8Z77k+q2AqkOD3hJwQW/xIPM/3O4mcGJ+eJTL4oDZ+CoMSI/VtdAQDTCSjUR2Jp4yO8sKOqmg3KPaASHZyvuzHGpQAR3J6cwwFUqqWbGy2JWoPOE7MjarkW6RW/fjRN8GNap1cFPRvbT+Kt2iMtmbuBC0oBIBHueLufDHqzGqskvB8a6x7Mpvs4kMwiZlM= 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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:23.778478Z",
                            "start": "2026-03-05T16:14:23.198066Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:23.996380Z",
                            "start": "2026-03-05T16:14:23.783964Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "189ba13b3c8ce873548bf93a9c9c6035b44fa91f",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "35ed07f9b6174a9391e872ef203c4911_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "189ba13b3c8ce873548bf93a9c9c6035b44fa91f",
                                    "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-1772727264.0606513-190-145070738363556/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "94e891d9ec37a82edbea60b7fede3a3e",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772727264.0606513-190-145070738363556/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:24.596597Z",
                            "start": "2026-03-05T16:14:24.015241Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "a182fb5ce894b510607838146cffaa3f106c5249",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "35ed07f9b6174a9391e872ef203c4911_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "a182fb5ce894b510607838146cffaa3f106c5249",
                                    "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-1772727264.6478999-200-114456194689718/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "b15ca410ca98cf038d4283d07b89159a",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772727264.6478999-200-114456194689718/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:25.130491Z",
                            "start": "2026-03-05T16:14:24.600370Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:25.162795Z",
                            "start": "2026-03-05T16:14:25.135593Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:25.537730Z",
                            "start": "2026-03-05T16:14:25.171491Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa"
                            ],
                            "delta": "0:00:00.024765",
                            "end": "2026-03-05 16:14:25.819098",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_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-0011-d6b4-356e-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-05 16:14:25.794333",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/35ed07f9b6174a9391e872ef203c4911_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-d6b4-356e-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:25.860305Z",
                            "start": "2026-03-05T16:14:25.555225Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:26.221186Z",
                            "start": "2026-03-05T16:14:25.865120Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:26.250451Z",
                            "start": "2026-03-05T16:14:26.226077Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:26.626420Z",
                            "start": "2026-03-05T16:14:26.262255Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:27.769791Z",
                            "start": "2026-03-05T16:14:26.632301Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:28.390036Z",
                            "start": "2026-03-05T16:14:27.779041Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-0011-d6b4-356e-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:28.992434Z",
                            "start": "2026-03-05T16:14:28.396336Z"
                        },
                        "id": "0242ac17-0011-d6b4-356e-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-03-05T16:14:32.687849Z",
                    "start": "2026-03-05T16:14:29.790970Z"
                },
                "id": "0242ac17-0011-1d41-47e3-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-1772727269.8442373-5-188754227063283/uv-x86_64-unknown-linux-gnutaw261vk.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-1772727269.8442373-5-188754227063283/uv-x86_64-unknown-linux-gnutaw261vk.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-1d41-47e3-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:32.149661Z",
                            "start": "2026-03-05T16:14:29.805569Z"
                        },
                        "id": "0242ac17-0011-1d41-47e3-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.014974",
                            "end": "2026-03-05 16:14:32.519677",
                            "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-0011-1d41-47e3-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-05 16:14:32.504703",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-1d41-47e3-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-1d41-47e3-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:32.687849Z",
                            "start": "2026-03-05T16:14:32.170237Z"
                        },
                        "id": "0242ac17-0011-1d41-47e3-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-03-05T16:23:37.962087Z",
                    "start": "2026-03-05T16:14:33.492117Z"
                },
                "id": "0242ac17-0011-1bec-028a-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "f3bd0e1b964bf4e319b17e18926248450df84b5a",
                            "dest": "src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "f3bd0e1b964bf4e319b17e18926248450df84b5a",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772727273.557931-5-53587281694093/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f7a667fe6319d62dd3a7fd2eb41444cd",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 24038,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772727273.557931-5-53587281694093/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:34.477099Z",
                            "start": "2026-03-05T16:14:33.502529Z"
                        },
                        "id": "0242ac17-0011-1bec-028a-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/ansible-collection-kubernetes/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:14:34.776018Z",
                            "start": "2026-03-05T16:14:34.482315Z"
                        },
                        "id": "0242ac17-0011-1bec-028a-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "cluster-api"
                            ],
                            "delta": "0:09:02.485060",
                            "end": "2026-03-05 16:23:37.649377",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s cluster-api",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-1bec-028a-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-05 16:14:35.164317",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.13.5 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nDownloading pygments (1.2MiB)\nDownloading cryptography (4.3MiB)\nDownloading ansible-core (2.3MiB)\n Downloading cryptography\n Downloading pygments\n Downloading ansible-core\nInstalled 36 packages in 163ms\nINFO     Collection 'vexxhost.kubernetes' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nCRITICAL 'extensions/molecule/default/molecule.yml' glob failed.  Exiting.\nINFO     default scenario not found, disabling shared state.\nINFO     [cluster-api > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [cluster-api > prerun] Performing prerun with role_name_check=0...\nINFO     [cluster-api > dependency] Executing\nWARNING  [cluster-api > dependency] Missing roles requirements file: requirements.yml\nWARNING  [cluster-api > dependency] Missing collections requirements file: collections.yml\nWARNING  [cluster-api > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [cluster-api > cleanup] Executing\nWARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > destroy] Executing\nWARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.\nINFO     [cluster-api > destroy] Executed: Successful\nINFO     [cluster-api > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/converge.yml\nINFO     [cluster-api > syntax] Executed: Successful\nINFO     [cluster-api > create] Executing\nWARNING  [cluster-api > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:14:58 +0000 (0:00:00.033)       0:00:00.033 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nThursday 05 March 2026  16:15:00 +0000 (0:00:01.292)       0:00:01.326 ********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:15:05 +0000 (0:00:05.764)       0:00:07.091 ********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nThursday 05 March 2026  16:15:06 +0000 (0:00:00.942)       0:00:08.033 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nThursday 05 March 2026  16:15:07 +0000 (0:00:00.441)       0:00:08.474 ********\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 05 March 2026  16:15:08 +0000 (0:00:01.429)       0:00:09.904 ********\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 05 March 2026  16:15:09 +0000 (0:00:01.006)       0:00:10.910 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nThursday 05 March 2026  16:15:10 +0000 (0:00:00.509)       0:00:11.420 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nThursday 05 March 2026  16:15:10 +0000 (0:00:00.335)       0:00:11.755 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nThursday 05 March 2026  16:15:10 +0000 (0:00:00.038)       0:00:11.794 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nThursday 05 March 2026  16:15:10 +0000 (0:00:00.049)       0:00:11.844 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nThursday 05 March 2026  16:15:11 +0000 (0:00:01.002)       0:00:12.846 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nThursday 05 March 2026  16:15:12 +0000 (0:00:00.350)       0:00:13.197 ********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:15:12 +0000 (0:00:00.051)       0:00:13.248 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:15:12 +0000 (0:00:00.840)       0:00:14.088 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:15:13 +0000 (0:00:00.405)       0:00:14.494 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 05 March 2026  16:15:13 +0000 (0:00:00.043)       0:00:14.537 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:13 +0000 (0:00:00.308)       0:00:14.846 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:13 +0000 (0:00:00.099)       0:00:14.946 ********\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 05 March 2026  16:15:14 +0000 (0:00:00.938)       0:00:15.885 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:15:14 +0000 (0:00:00.046)       0:00:15.932 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:15:15 +0000 (0:00:00.343)       0:00:16.275 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:16 +0000 (0:00:01.126)       0:00:17.402 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:16 +0000 (0:00:00.086)       0:00:17.488 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:15:17 +0000 (0:00:00.971)       0:00:18.460 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 05 March 2026  16:15:20 +0000 (0:00:03.342)       0:00:21.802 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 05 March 2026  16:15:20 +0000 (0:00:00.042)       0:00:21.845 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 05 March 2026  16:15:20 +0000 (0:00:00.043)       0:00:21.888 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 05 March 2026  16:15:20 +0000 (0:00:00.039)       0:00:21.928 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 05 March 2026  16:15:38 +0000 (0:00:17.694)       0:00:39.623 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 05 March 2026  16:15:39 +0000 (0:00:00.743)       0:00:40.366 ********\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 05 March 2026  16:15:40 +0000 (0:00:01.470)       0:00:41.836 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 05 March 2026  16:15:41 +0000 (0:00:00.845)       0:00:42.682 ********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 05 March 2026  16:15:41 +0000 (0:00:00.007)       0:00:42.689 ********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 05 March 2026  16:15:42 +0000 (0:00:01.029)       0:00:43.719 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 05 March 2026  16:15:44 +0000 (0:00:02.146)       0:00:45.865 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nThursday 05 March 2026  16:15:45 +0000 (0:00:00.782)       0:00:46.648 ********\n[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000157877's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3\n\n14\n15 ---\n16 - name: Retrieve the \"kubeadm-config\" ConfigMap\n     ^ column 3\n\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000157877's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.728)       0:00:47.377 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.040)       0:00:47.418 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.047)       0:00:47.465 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.046)       0:00:47.511 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.046)       0:00:47.558 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.057)       0:00:47.615 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.339)       0:00:47.955 ********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:46 +0000 (0:00:00.053)       0:00:48.009 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:15:47 +0000 (0:00:00.976)       0:00:48.985 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:15:47 +0000 (0:00:00.047)       0:00:49.033 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:48 +0000 (0:00:00.318)       0:00:49.352 ********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:48 +0000 (0:00:00.053)       0:00:49.405 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:15:49 +0000 (0:00:01.218)       0:00:50.624 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 05 March 2026  16:15:49 +0000 (0:00:00.051)       0:00:50.675 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 05 March 2026  16:15:49 +0000 (0:00:00.033)       0:00:50.709 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 05 March 2026  16:15:49 +0000 (0:00:00.028)       0:00:50.737 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 05 March 2026  16:15:49 +0000 (0:00:00.036)       0:00:50.774 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 05 March 2026  16:15:50 +0000 (0:00:01.018)       0:00:51.792 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 05 March 2026  16:15:51 +0000 (0:00:00.770)       0:00:52.563 ********\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 05 March 2026  16:15:52 +0000 (0:00:01.477)       0:00:54.040 ********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 05 March 2026  16:15:53 +0000 (0:00:00.765)       0:00:54.806 ********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 05 March 2026  16:15:53 +0000 (0:00:00.008)       0:00:54.814 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:15:54 +0000 (0:00:00.500)       0:00:55.315 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:54 +0000 (0:00:00.338)       0:00:55.654 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:54 +0000 (0:00:00.070)       0:00:55.725 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:15:55 +0000 (0:00:00.672)       0:00:56.397 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:15:57 +0000 (0:00:01.786)       0:00:58.184 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:15:57 +0000 (0:00:00.074)       0:00:58.258 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:15:57 +0000 (0:00:00.718)       0:00:58.977 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nThursday 05 March 2026  16:15:59 +0000 (0:00:01.731)       0:01:00.709 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nThursday 05 March 2026  16:16:00 +0000 (0:00:00.738)       0:01:01.447 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:16:00 +0000 (0:00:00.321)       0:01:01.768 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:16:00 +0000 (0:00:00.317)       0:01:02.086 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.8.0/cni-plugins-linux-amd64-v1.8.0.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:16:00 +0000 (0:00:00.074)       0:01:02.161 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:16:01 +0000 (0:00:00.964)       0:01:03.126 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nThursday 05 March 2026  16:16:05 +0000 (0:00:03.060)       0:01:06.187 ********\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 05 March 2026  16:16:05 +0000 (0:00:00.059)       0:01:06.246 ********\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nThursday 05 March 2026  16:16:06 +0000 (0:00:01.002)       0:01:07.249 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nThursday 05 March 2026  16:16:06 +0000 (0:00:00.498)       0:01:07.747 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nThursday 05 March 2026  16:16:07 +0000 (0:00:00.690)       0:01:08.437 ********\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 05 March 2026  16:16:08 +0000 (0:00:01.644)       0:01:10.082 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:16:09 +0000 (0:00:00.294)       0:01:10.377 ********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:16:09 +0000 (0:00:00.054)       0:01:10.432 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:16:14 +0000 (0:00:04.959)       0:01:15.391 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nThursday 05 March 2026  16:16:14 +0000 (0:00:00.043)       0:01:15.434 ********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nThursday 05 March 2026  16:16:14 +0000 (0:00:00.063)       0:01:15.498 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nThursday 05 March 2026  16:16:14 +0000 (0:00:00.036)       0:01:15.535 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nThursday 05 March 2026  16:16:17 +0000 (0:00:03.369)       0:01:18.904 ********\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 05 March 2026  16:16:20 +0000 (0:00:02.281)       0:01:21.185 ********\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 05 March 2026  16:16:20 +0000 (0:00:00.884)       0:01:22.069 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nThursday 05 March 2026  16:16:21 +0000 (0:00:00.737)       0:01:22.807 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nThursday 05 March 2026  16:16:22 +0000 (0:00:00.803)       0:01:23.610 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nThursday 05 March 2026  16:16:22 +0000 (0:00:00.446)       0:01:24.057 ********\n[ERROR]: Task failed: Conditional result (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.\n\nTask failed.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:78:7\n\n76       register: kubelet_swapon\n77\n78     - name: Disable swap\n         ^ column 7\n\n<<< caused by >>>\n\nConditional result (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11\n\n81       ignore_errors: \"{{ ansible_check_mode }}\"\n82       when:\n83         - 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 (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nThursday 05 March 2026  16:16:22 +0000 (0:00:00.045)       0:01:24.102 ********\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nThursday 05 March 2026  16:16:23 +0000 (0:00:00.858)       0:01:24.961 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nThursday 05 March 2026  16:16:24 +0000 (0:00:00.750)       0:01:25.712 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nThursday 05 March 2026  16:16:25 +0000 (0:00:00.760)       0:01:26.472 ********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 05 March 2026  16:16:25 +0000 (0:00:00.006)       0:01:26.478 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nThursday 05 March 2026  16:16:27 +0000 (0:00:01.940)       0:01:28.419 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nThursday 05 March 2026  16:16:28 +0000 (0:00:00.769)       0:01:29.189 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nThursday 05 March 2026  16:16:29 +0000 (0:00:01.115)       0:01:30.305 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nThursday 05 March 2026  16:16:30 +0000 (0:00:00.934)       0:01:31.239 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nThursday 05 March 2026  16:16:30 +0000 (0:00:00.465)       0:01:31.704 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nThursday 05 March 2026  16:16:31 +0000 (0:00:00.554)       0:01:32.259 ********\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 05 March 2026  16:16:31 +0000 (0:00:00.093)       0:01:32.353 ********\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 05 March 2026  16:16:31 +0000 (0:00:00.086)       0:01:32.439 ********\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nThursday 05 March 2026  16:16:31 +0000 (0:00:00.339)       0:01:32.779 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nThursday 05 March 2026  16:16:31 +0000 (0:00:00.043)       0:01:32.822 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nThursday 05 March 2026  16:16:31 +0000 (0:00:00.055)       0:01:32.878 ********\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nThursday 05 March 2026  16:16:31 +0000 (0:00:00.051)       0:01:32.929 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.750)       0:01:33.680 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.718 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.040)       0:01:33.758 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.796 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.038)       0:01:33.835 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.039)       0:01:33.875 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.912 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nThursday 05 March 2026  16:16:32 +0000 (0:00:00.041)       0:01:33.954 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nThursday 05 March 2026  16:18:24 +0000 (0:01:51.611)       0:03:25.565 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nThursday 05 March 2026  16:18:24 +0000 (0:00:00.367)       0:03:25.932 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nThursday 05 March 2026  16:18:24 +0000 (0:00:00.045)       0:03:25.977 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.319)       0:03:26.297 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.333)       0:03:26.630 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.319)       0:03:26.950 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.044)       0:03:26.995 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.050)       0:03:27.045 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nThursday 05 March 2026  16:18:25 +0000 (0:00:00.047)       0:03:27.092 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nThursday 05 March 2026  16:18:49 +0000 (0:00:23.120)       0:03:50.213 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nThursday 05 March 2026  16:18:50 +0000 (0:00:01.250)       0:03:51.463 ********\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nThursday 05 March 2026  16:18:50 +0000 (0:00:00.043)       0:03:51.507 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nThursday 05 March 2026  16:18:50 +0000 (0:00:00.036)       0:03:51.544 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nThursday 05 March 2026  16:18:50 +0000 (0:00:00.038)       0:03:51.582 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nThursday 05 March 2026  16:18:50 +0000 (0:00:00.035)       0:03:51.618 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nThursday 05 March 2026  16:18:50 +0000 (0:00:00.036)       0:03:51.655 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nThursday 05 March 2026  16:18:51 +0000 (0:00:00.546)       0:03:52.201 ********\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:18:52 +0000 (0:00:01.044)       0:03:53.246 ********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 05 March 2026  16:18:52 +0000 (0:00:00.897)       0:03:54.144 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:18:53 +0000 (0:00:00.325)       0:03:54.469 ********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 05 March 2026  16:18:54 +0000 (0:00:00.922)       0:03:55.392 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:18:54 +0000 (0:00:00.316)       0:03:55.709 ********\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 05 March 2026  16:18:54 +0000 (0:00:00.047)       0:03:55.756 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:18:55 +0000 (0:00:00.672)       0:03:56.429 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nThursday 05 March 2026  16:18:57 +0000 (0:00:01.831)       0:03:58.260 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nThursday 05 March 2026  16:18:57 +0000 (0:00:00.472)       0:03:58.733 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nThursday 05 March 2026  16:18:57 +0000 (0:00:00.333)       0:03:59.067 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nThursday 05 March 2026  16:18:58 +0000 (0:00:00.405)       0:03:59.473 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nThursday 05 March 2026  16:18:58 +0000 (0:00:00.321)       0:03:59.794 ********\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nThursday 05 March 2026  16:18:58 +0000 (0:00:00.310)       0:04:00.105 ********\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:18:58 +0000 (0:00:00.059)       0:04:00.165 ********\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 05 March 2026  16:18:59 +0000 (0:00:00.044)       0:04:00.209 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:18:59 +0000 (0:00:00.782)       0:04:00.991 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:19:02 +0000 (0:00:02.193)       0:04:03.185 ********\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 05 March 2026  16:19:02 +0000 (0:00:00.106)       0:04:03.292 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nThursday 05 March 2026  16:19:02 +0000 (0:00:00.832)       0:04:04.124 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nThursday 05 March 2026  16:19:03 +0000 (0:00:00.976)       0:04:05.100 ********\nchanged: [controller]\n\nPLAY [Install older version of Cluster API] ************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:19:07 +0000 (0:00:03.079)       0:04:08.180 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:19:08 +0000 (0:00:01.883)       0:04:10.063 ********\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 05 March 2026  16:19:08 +0000 (0:00:00.039)       0:04:10.103 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nThursday 05 March 2026  16:19:09 +0000 (0:00:00.607)       0:04:10.710 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:20:28 +0000 (0:01:18.833)       0:05:29.544 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 05 March 2026  16:20:28 +0000 (0:00:00.050)       0:05:29.594 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:20:28 +0000 (0:00:00.333)       0:05:29.927 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.8.4/clusterctl-linux-amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:20:28 +0000 (0:00:00.039)       0:05:29.967 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:20:30 +0000 (0:00:01.587)       0:05:31.554 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nThursday 05 March 2026  16:20:30 +0000 (0:00:00.039)       0:05:31.593 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.713)       0:05:32.306 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.041)       0:05:32.348 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.038)       0:05:32.386 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.032)       0:05:32.419 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.034)       0:05:32.454 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.031)       0:05:32.485 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nThursday 05 March 2026  16:20:31 +0000 (0:00:00.281)       0:05:32.766 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nThursday 05 March 2026  16:20:33 +0000 (0:00:02.349)       0:05:35.116 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nThursday 05 March 2026  16:20:34 +0000 (0:00:00.846)       0:05:35.962 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nThursday 05 March 2026  16:20:57 +0000 (0:00:22.672)       0:05:58.634 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nThursday 05 March 2026  16:20:57 +0000 (0:00:00.033)       0:05:58.668 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nThursday 05 March 2026  16:20:57 +0000 (0:00:00.032)       0:05:58.700 ********\nchanged: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})\n\nTASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***\nThursday 05 March 2026  16:21:38 +0000 (0:00:40.532)       0:06:39.232 ********\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****\nThursday 05 March 2026  16:21:38 +0000 (0:00:00.083)       0:06:39.316 ********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=128  changed=60   unreachable=0    failed=0    skipped=44   rescued=0    ignored=3\n\n\nTASKS RECAP ********************************************************************\nThursday 05 March 2026  16:21:44 +0000 (0:00:06.090)       0:06:45.406 ********\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 111.61s\nvexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 78.83s\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 40.53s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems -- 23.12s\nvexxhost.kubernetes.cluster_api : Initialize the management cluster ---- 22.67s\nvexxhost.containers.containerd : Install AppArmor packages ------------- 17.69s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.09s\nInstall Debian packages ------------------------------------------------- 5.76s\nvexxhost.containers.download_artifact : Download item ------------------- 4.96s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 4.09s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.37s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.34s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 3.08s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.06s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.35s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.28s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.19s\nGathering Facts --------------------------------------------------------- 1.88s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.83s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.79s\nINFO     [cluster-api > prepare] Executed: Successful\nINFO     [cluster-api > converge] Executing\n\nPLAY [Converge] ****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:21:45 +0000 (0:00:00.018)       0:00:00.018 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:21:46 +0000 (0:00:01.444)       0:00:01.463 ********\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 05 March 2026  16:21:46 +0000 (0:00:00.093)       0:00:01.556 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nThursday 05 March 2026  16:21:47 +0000 (0:00:00.758)       0:00:02.315 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:21:50 +0000 (0:00:03.159)       0:00:05.474 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 05 March 2026  16:21:50 +0000 (0:00:00.044)       0:00:05.518 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:21:51 +0000 (0:00:00.423)       0:00:05.942 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.5/clusterctl-linux-amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:21:51 +0000 (0:00:00.047)       0:00:05.989 ********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:21:52 +0000 (0:00:01.542)       0:00:07.532 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nThursday 05 March 2026  16:21:52 +0000 (0:00:00.037)       0:00:07.569 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:21:54 +0000 (0:00:01.116)       0:00:08.685 ********\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 05 March 2026  16:21:54 +0000 (0:00:00.048)       0:00:08.734 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nThursday 05 March 2026  16:21:54 +0000 (0:00:00.657)       0:00:09.392 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nThursday 05 March 2026  16:21:55 +0000 (0:00:00.324)       0:00:09.717 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nThursday 05 March 2026  16:21:55 +0000 (0:00:00.727)       0:00:10.445 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nThursday 05 March 2026  16:21:56 +0000 (0:00:00.766)       0:00:11.211 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nThursday 05 March 2026  16:21:59 +0000 (0:00:02.640)       0:00:13.852 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nThursday 05 March 2026  16:21:59 +0000 (0:00:00.333)       0:00:14.185 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nThursday 05 March 2026  16:22:01 +0000 (0:00:02.390)       0:00:16.575 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nThursday 05 March 2026  16:22:03 +0000 (0:00:01.149)       0:00:17.725 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nThursday 05 March 2026  16:22:03 +0000 (0:00:00.036)       0:00:17.762 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nThursday 05 March 2026  16:22:03 +0000 (0:00:00.063)       0:00:17.825 ********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nThursday 05 March 2026  16:22:15 +0000 (0:00:12.617)       0:00:30.443 ********\nchanged: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})\nchanged: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})\n\nTASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***\nThursday 05 March 2026  16:22:55 +0000 (0:00:39.313)       0:01:09.756 ********\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****\nThursday 05 March 2026  16:22:55 +0000 (0:00:00.072)       0:01:09.829 ********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=21   changed=10   unreachable=0    failed=0    skipped=4    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 05 March 2026  16:23:01 +0000 (0:00:06.215)       0:01:16.044 ********\n===============================================================================\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 39.31s\nvexxhost.kubernetes.cluster_api : Run upgrade if required -------------- 12.62s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.22s\nvexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.16s\nvexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.64s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.39s\nvexxhost.containers.download_artifact : Download item ------------------- 1.54s\nGathering Facts --------------------------------------------------------- 1.44s\nvexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 1.15s\nvexxhost.kubernetes.clusterctl : Create a configuration file ------------ 1.12s\nvexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.77s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.76s\nvexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.73s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.66s\nvexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.42s\nvexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.33s\nvexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.32s\nvexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.09s\nvexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.07s\nvexxhost.kubernetes.cluster_api : Parse provider resources into version mapping --- 0.06s\nINFO     [cluster-api > converge] Executed: Successful\nINFO     [cluster-api > idempotence] Executing\n\nPLAY [Converge] ****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:23:02 +0000 (0:00:00.016)       0:00:00.016 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:23:03 +0000 (0:00:01.493)       0:00:01.510 ********\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 05 March 2026  16:23:03 +0000 (0:00:00.092)       0:00:01.602 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nThursday 05 March 2026  16:23:04 +0000 (0:00:00.728)       0:00:02.330 ********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 05 March 2026  16:23:08 +0000 (0:00:03.403)       0:00:05.734 ********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 05 March 2026  16:23:08 +0000 (0:00:00.050)       0:00:05.785 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 05 March 2026  16:23:08 +0000 (0:00:00.460)       0:00:06.246 ********\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.5/clusterctl-linux-amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 05 March 2026  16:23:08 +0000 (0:00:00.039)       0:00:06.285 ********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 05 March 2026  16:23:09 +0000 (0:00:00.575)       0:00:06.861 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nThursday 05 March 2026  16:23:09 +0000 (0:00:00.038)       0:00:06.900 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 05 March 2026  16:23:10 +0000 (0:00:00.780)       0:00:07.680 ********\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 05 March 2026  16:23:10 +0000 (0:00:00.043)       0:00:07.724 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nThursday 05 March 2026  16:23:10 +0000 (0:00:00.616)       0:00:08.341 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nThursday 05 March 2026  16:23:11 +0000 (0:00:00.314)       0:00:08.655 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nThursday 05 March 2026  16:23:11 +0000 (0:00:00.667)       0:00:09.322 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nThursday 05 March 2026  16:23:12 +0000 (0:00:00.752)       0:00:10.074 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nThursday 05 March 2026  16:23:14 +0000 (0:00:02.346)       0:00:12.421 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nThursday 05 March 2026  16:23:15 +0000 (0:00:00.317)       0:00:12.738 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nThursday 05 March 2026  16:23:17 +0000 (0:00:02.323)       0:00:15.062 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nThursday 05 March 2026  16:23:18 +0000 (0:00:00.978)       0:00:16.041 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nThursday 05 March 2026  16:23:18 +0000 (0:00:00.043)       0:00:16.085 ********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nThursday 05 March 2026  16:23:18 +0000 (0:00:00.058)       0:00:16.143 ********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nThursday 05 March 2026  16:23:18 +0000 (0:00:00.040)       0:00:16.184 ********\nok: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})\nok: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})\nok: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})\nok: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})\n\nTASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***\nThursday 05 March 2026  16:23:21 +0000 (0:00:03.229)       0:00:19.414 ********\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****\nThursday 05 March 2026  16:23:21 +0000 (0:00:00.071)       0:00:19.485 ********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=20   changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 05 March 2026  16:23:22 +0000 (0:00:01.084)       0:00:20.570 ********\n===============================================================================\nvexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.40s\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components --- 3.23s\nvexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.35s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.32s\nGathering Facts --------------------------------------------------------- 1.49s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 1.08s\nvexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 0.98s\nvexxhost.kubernetes.clusterctl : Create a configuration file ------------ 0.78s\nvexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.75s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.73s\nvexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.67s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.62s\nvexxhost.containers.download_artifact : Download item ------------------- 0.58s\nvexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.46s\nvexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.32s\nvexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.31s\nvexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.09s\nvexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.07s\nvexxhost.kubernetes.cluster_api : Parse provider resources into version mapping --- 0.06s\nvexxhost.containers.package : Update state for tar ---------------------- 0.05s\nINFO     [cluster-api > idempotence] Executed: Successful\nINFO     [cluster-api > side_effect] Executing\nWARNING  [cluster-api > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 05 March 2026  16:23:23 +0000 (0:00:00.009)       0:00:00.009 ********\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Include default variables] ***********************************************\nThursday 05 March 2026  16:23:25 +0000 (0:00:01.465)       0:00:01.474 ********\nok: [controller] => (item=clusterctl)\nok: [controller] => (item=cluster_api)\n\nTASK [Ensure the \"clusterctl\" binary is installed] *****************************\nThursday 05 March 2026  16:23:25 +0000 (0:00:00.051)       0:00:01.525 ********\nchanged: [controller]\n\nTASK [Assert that the \"clusterctl\" binary is installed and version matches] ****\nThursday 05 March 2026  16:23:25 +0000 (0:00:00.443)       0:00:01.969 ********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Ensure that the Cluster API components are ready] ************************\nThursday 05 March 2026  16:23:25 +0000 (0:00:00.062)       0:00:02.031 ********\nok: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})\nok: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})\nok: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})\nok: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})\n\nTASK [Ensure that the Cluster API CRDs exist] **********************************\nThursday 05 March 2026  16:23:29 +0000 (0:00:03.763)       0:00:05.795 ********\nok: [controller] => (item=clusters.cluster.x-k8s.io)\nok: [controller] => (item=openstackclusters.infrastructure.cluster.x-k8s.io)\nok: [controller] => (item=kubeadmcontrolplanes.controlplane.cluster.x-k8s.io)\nok: [controller] => (item=machinedeployments.cluster.x-k8s.io)\nok: [controller] => (item=machines.cluster.x-k8s.io)\nok: [controller] => (item=openstackmachines.infrastructure.cluster.x-k8s.io)\n\nTASK [Get a list of all Cluster API providers] *********************************\nThursday 05 March 2026  16:23:34 +0000 (0:00:04.838)       0:00:10.633 ********\nok: [controller]\n\nTASK [Parse provider resources into version mapping] ***************************\nThursday 05 March 2026  16:23:35 +0000 (0:00:00.843)       0:00:11.477 ********\nok: [controller]\n\nTASK [Assert that the versions are the correct ones] ***************************\nThursday 05 March 2026  16:23:35 +0000 (0:00:00.066)       0:00:11.544 ********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Create a test kcptemplate] ***********************************************\nThursday 05 March 2026  16:23:35 +0000 (0:00:00.042)       0:00:11.586 ********\nchanged: [controller]\n\nTASK [Reapply the test kcptemplate] ********************************************\nThursday 05 March 2026  16:23:36 +0000 (0:00:01.148)       0:00:12.735 ********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=11   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 05 March 2026  16:23:37 +0000 (0:00:00.867)       0:00:13.602 ********\n===============================================================================\nEnsure that the Cluster API CRDs exist ---------------------------------- 4.84s\nEnsure that the Cluster API components are ready ------------------------ 3.76s\nGathering Facts --------------------------------------------------------- 1.47s\nCreate a test kcptemplate ----------------------------------------------- 1.15s\nReapply the test kcptemplate -------------------------------------------- 0.87s\nGet a list of all Cluster API providers --------------------------------- 0.84s\nEnsure the \"clusterctl\" binary is installed ----------------------------- 0.44s\nParse provider resources into version mapping --------------------------- 0.07s\nAssert that the \"clusterctl\" binary is installed and version matches ---- 0.06s\nInclude default variables ----------------------------------------------- 0.05s\nAssert that the versions are the correct ones --------------------------- 0.04s\nINFO     [cluster-api > verify] Executed: Successful\nINFO     [cluster-api > cleanup] Executing\nWARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [cluster-api > destroy] Executing\nWARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.\nINFO     [cluster-api > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "stdout_lines": [
                                "Using CPython 3.13.5 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "Downloading pygments (1.2MiB)",
                                "Downloading cryptography (4.3MiB)",
                                "Downloading ansible-core (2.3MiB)",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading ansible-core",
                                "Installed 36 packages in 163ms",
                                "INFO     Collection 'vexxhost.kubernetes' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "CRITICAL 'extensions/molecule/default/molecule.yml' glob failed.  Exiting.",
                                "INFO     default scenario not found, disabling shared state.",
                                "INFO     [cluster-api > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [cluster-api > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [cluster-api > dependency] Executing",
                                "WARNING  [cluster-api > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [cluster-api > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [cluster-api > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > cleanup] Executing",
                                "WARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > destroy] Executing",
                                "WARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [cluster-api > destroy] Executed: Successful",
                                "INFO     [cluster-api > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes/extensions/molecule/cluster-api/converge.yml",
                                "INFO     [cluster-api > syntax] Executed: Successful",
                                "INFO     [cluster-api > create] Executing",
                                "WARNING  [cluster-api > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:14:58 +0000 (0:00:00.033)       0:00:00.033 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Thursday 05 March 2026  16:15:00 +0000 (0:00:01.292)       0:00:01.326 ********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:15:05 +0000 (0:00:05.764)       0:00:07.091 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Thursday 05 March 2026  16:15:06 +0000 (0:00:00.942)       0:00:08.033 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Thursday 05 March 2026  16:15:07 +0000 (0:00:00.441)       0:00:08.474 ********",
                                "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 05 March 2026  16:15:08 +0000 (0:00:01.429)       0:00:09.904 ********",
                                "[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 05 March 2026  16:15:09 +0000 (0:00:01.006)       0:00:10.910 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Thursday 05 March 2026  16:15:10 +0000 (0:00:00.509)       0:00:11.420 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Thursday 05 March 2026  16:15:10 +0000 (0:00:00.335)       0:00:11.755 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Thursday 05 March 2026  16:15:10 +0000 (0:00:00.038)       0:00:11.794 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Thursday 05 March 2026  16:15:10 +0000 (0:00:00.049)       0:00:11.844 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Thursday 05 March 2026  16:15:11 +0000 (0:00:01.002)       0:00:12.846 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Thursday 05 March 2026  16:15:12 +0000 (0:00:00.350)       0:00:13.197 ********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:15:12 +0000 (0:00:00.051)       0:00:13.248 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:15:12 +0000 (0:00:00.840)       0:00:14.088 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:15:13 +0000 (0:00:00.405)       0:00:14.494 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 05 March 2026  16:15:13 +0000 (0:00:00.043)       0:00:14.537 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:13 +0000 (0:00:00.308)       0:00:14.846 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:13 +0000 (0:00:00.099)       0:00:14.946 ********",
                                "[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 05 March 2026  16:15:14 +0000 (0:00:00.938)       0:00:15.885 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:15:14 +0000 (0:00:00.046)       0:00:15.932 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:15:15 +0000 (0:00:00.343)       0:00:16.275 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:16 +0000 (0:00:01.126)       0:00:17.402 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:16 +0000 (0:00:00.086)       0:00:17.488 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:15:17 +0000 (0:00:00.971)       0:00:18.460 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 05 March 2026  16:15:20 +0000 (0:00:03.342)       0:00:21.802 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 05 March 2026  16:15:20 +0000 (0:00:00.042)       0:00:21.845 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 05 March 2026  16:15:20 +0000 (0:00:00.043)       0:00:21.888 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 05 March 2026  16:15:20 +0000 (0:00:00.039)       0:00:21.928 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 05 March 2026  16:15:38 +0000 (0:00:17.694)       0:00:39.623 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 05 March 2026  16:15:39 +0000 (0:00:00.743)       0:00:40.366 ********",
                                "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 05 March 2026  16:15:40 +0000 (0:00:01.470)       0:00:41.836 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 05 March 2026  16:15:41 +0000 (0:00:00.845)       0:00:42.682 ********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 05 March 2026  16:15:41 +0000 (0:00:00.007)       0:00:42.689 ********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 05 March 2026  16:15:42 +0000 (0:00:01.029)       0:00:43.719 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 05 March 2026  16:15:44 +0000 (0:00:02.146)       0:00:45.865 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Thursday 05 March 2026  16:15:45 +0000 (0:00:00.782)       0:00:46.648 ********",
                                "[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000157877's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3",
                                "",
                                "14",
                                "15 ---",
                                "16 - name: Retrieve the \"kubeadm-config\" ConfigMap",
                                "     ^ column 3",
                                "",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000157877's Python /usr/bin/python3.13. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.728)       0:00:47.377 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.040)       0:00:47.418 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.047)       0:00:47.465 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.046)       0:00:47.511 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.046)       0:00:47.558 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.057)       0:00:47.615 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.339)       0:00:47.955 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:46 +0000 (0:00:00.053)       0:00:48.009 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:15:47 +0000 (0:00:00.976)       0:00:48.985 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:15:47 +0000 (0:00:00.047)       0:00:49.033 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:48 +0000 (0:00:00.318)       0:00:49.352 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:48 +0000 (0:00:00.053)       0:00:49.405 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:15:49 +0000 (0:00:01.218)       0:00:50.624 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 05 March 2026  16:15:49 +0000 (0:00:00.051)       0:00:50.675 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 05 March 2026  16:15:49 +0000 (0:00:00.033)       0:00:50.709 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 05 March 2026  16:15:49 +0000 (0:00:00.028)       0:00:50.737 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 05 March 2026  16:15:49 +0000 (0:00:00.036)       0:00:50.774 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 05 March 2026  16:15:50 +0000 (0:00:01.018)       0:00:51.792 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 05 March 2026  16:15:51 +0000 (0:00:00.770)       0:00:52.563 ********",
                                "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 05 March 2026  16:15:52 +0000 (0:00:01.477)       0:00:54.040 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 05 March 2026  16:15:53 +0000 (0:00:00.765)       0:00:54.806 ********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 05 March 2026  16:15:53 +0000 (0:00:00.008)       0:00:54.814 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:15:54 +0000 (0:00:00.500)       0:00:55.315 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:54 +0000 (0:00:00.338)       0:00:55.654 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:54 +0000 (0:00:00.070)       0:00:55.725 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:15:55 +0000 (0:00:00.672)       0:00:56.397 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:15:57 +0000 (0:00:01.786)       0:00:58.184 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:15:57 +0000 (0:00:00.074)       0:00:58.258 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:15:57 +0000 (0:00:00.718)       0:00:58.977 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Thursday 05 March 2026  16:15:59 +0000 (0:00:01.731)       0:01:00.709 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Thursday 05 March 2026  16:16:00 +0000 (0:00:00.738)       0:01:01.447 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:16:00 +0000 (0:00:00.321)       0:01:01.768 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:16:00 +0000 (0:00:00.317)       0:01:02.086 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.8.0/cni-plugins-linux-amd64-v1.8.0.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:16:00 +0000 (0:00:00.074)       0:01:02.161 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:16:01 +0000 (0:00:00.964)       0:01:03.126 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Thursday 05 March 2026  16:16:05 +0000 (0:00:03.060)       0:01:06.187 ********",
                                "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 05 March 2026  16:16:05 +0000 (0:00:00.059)       0:01:06.246 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Thursday 05 March 2026  16:16:06 +0000 (0:00:01.002)       0:01:07.249 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Thursday 05 March 2026  16:16:06 +0000 (0:00:00.498)       0:01:07.747 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Thursday 05 March 2026  16:16:07 +0000 (0:00:00.690)       0:01:08.437 ********",
                                "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 05 March 2026  16:16:08 +0000 (0:00:01.644)       0:01:10.082 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:16:09 +0000 (0:00:00.294)       0:01:10.377 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:16:09 +0000 (0:00:00.054)       0:01:10.432 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:16:14 +0000 (0:00:04.959)       0:01:15.391 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Thursday 05 March 2026  16:16:14 +0000 (0:00:00.043)       0:01:15.434 ********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Thursday 05 March 2026  16:16:14 +0000 (0:00:00.063)       0:01:15.498 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Thursday 05 March 2026  16:16:14 +0000 (0:00:00.036)       0:01:15.535 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Thursday 05 March 2026  16:16:17 +0000 (0:00:03.369)       0:01:18.904 ********",
                                "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 05 March 2026  16:16:20 +0000 (0:00:02.281)       0:01:21.185 ********",
                                "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 05 March 2026  16:16:20 +0000 (0:00:00.884)       0:01:22.069 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Thursday 05 March 2026  16:16:21 +0000 (0:00:00.737)       0:01:22.807 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Thursday 05 March 2026  16:16:22 +0000 (0:00:00.803)       0:01:23.610 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Thursday 05 March 2026  16:16:22 +0000 (0:00:00.446)       0:01:24.057 ********",
                                "[ERROR]: Task failed: Conditional result (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.",
                                "",
                                "Task failed.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:78:7",
                                "",
                                "76       register: kubelet_swapon",
                                "77",
                                "78     - name: Disable swap",
                                "         ^ column 7",
                                "",
                                "<<< caused by >>>",
                                "",
                                "Conditional result (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11",
                                "",
                                "81       ignore_errors: \"{{ ansible_check_mode }}\"",
                                "82       when:",
                                "83         - 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 (False) was derived from value of type 'str' at '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:83:11'. Conditionals must have a boolean result.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Thursday 05 March 2026  16:16:22 +0000 (0:00:00.045)       0:01:24.102 ********",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Thursday 05 March 2026  16:16:23 +0000 (0:00:00.858)       0:01:24.961 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Thursday 05 March 2026  16:16:24 +0000 (0:00:00.750)       0:01:25.712 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Thursday 05 March 2026  16:16:25 +0000 (0:00:00.760)       0:01:26.472 ********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 05 March 2026  16:16:25 +0000 (0:00:00.006)       0:01:26.478 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Thursday 05 March 2026  16:16:27 +0000 (0:00:01.940)       0:01:28.419 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Thursday 05 March 2026  16:16:28 +0000 (0:00:00.769)       0:01:29.189 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Thursday 05 March 2026  16:16:29 +0000 (0:00:01.115)       0:01:30.305 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Thursday 05 March 2026  16:16:30 +0000 (0:00:00.934)       0:01:31.239 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Thursday 05 March 2026  16:16:30 +0000 (0:00:00.465)       0:01:31.704 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.554)       0:01:32.259 ********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.093)       0:01:32.353 ********",
                                "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 05 March 2026  16:16:31 +0000 (0:00:00.086)       0:01:32.439 ********",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.339)       0:01:32.779 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.043)       0:01:32.822 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.055)       0:01:32.878 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Thursday 05 March 2026  16:16:31 +0000 (0:00:00.051)       0:01:32.929 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.750)       0:01:33.680 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.718 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.040)       0:01:33.758 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.796 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.038)       0:01:33.835 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.039)       0:01:33.875 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.037)       0:01:33.912 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Thursday 05 March 2026  16:16:32 +0000 (0:00:00.041)       0:01:33.954 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Thursday 05 March 2026  16:18:24 +0000 (0:01:51.611)       0:03:25.565 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Thursday 05 March 2026  16:18:24 +0000 (0:00:00.367)       0:03:25.932 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Thursday 05 March 2026  16:18:24 +0000 (0:00:00.045)       0:03:25.977 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.319)       0:03:26.297 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.333)       0:03:26.630 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.319)       0:03:26.950 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.044)       0:03:26.995 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.050)       0:03:27.045 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Thursday 05 March 2026  16:18:25 +0000 (0:00:00.047)       0:03:27.092 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Thursday 05 March 2026  16:18:49 +0000 (0:00:23.120)       0:03:50.213 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:01.250)       0:03:51.463 ********",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:00.043)       0:03:51.507 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:00.036)       0:03:51.544 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:00.038)       0:03:51.582 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:00.035)       0:03:51.618 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Thursday 05 March 2026  16:18:50 +0000 (0:00:00.036)       0:03:51.655 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Thursday 05 March 2026  16:18:51 +0000 (0:00:00.546)       0:03:52.201 ********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:18:52 +0000 (0:00:01.044)       0:03:53.246 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 05 March 2026  16:18:52 +0000 (0:00:00.897)       0:03:54.144 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:18:53 +0000 (0:00:00.325)       0:03:54.469 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 05 March 2026  16:18:54 +0000 (0:00:00.922)       0:03:55.392 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:18:54 +0000 (0:00:00.316)       0:03:55.709 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:18:54 +0000 (0:00:00.047)       0:03:55.756 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:18:55 +0000 (0:00:00.672)       0:03:56.429 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Thursday 05 March 2026  16:18:57 +0000 (0:00:01.831)       0:03:58.260 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Thursday 05 March 2026  16:18:57 +0000 (0:00:00.472)       0:03:58.733 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Thursday 05 March 2026  16:18:57 +0000 (0:00:00.333)       0:03:59.067 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Thursday 05 March 2026  16:18:58 +0000 (0:00:00.405)       0:03:59.473 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Thursday 05 March 2026  16:18:58 +0000 (0:00:00.321)       0:03:59.794 ********",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Thursday 05 March 2026  16:18:58 +0000 (0:00:00.310)       0:04:00.105 ********",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:18:58 +0000 (0:00:00.059)       0:04:00.165 ********",
                                "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 05 March 2026  16:18:59 +0000 (0:00:00.044)       0:04:00.209 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:18:59 +0000 (0:00:00.782)       0:04:00.991 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:19:02 +0000 (0:00:02.193)       0:04:03.185 ********",
                                "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 05 March 2026  16:19:02 +0000 (0:00:00.106)       0:04:03.292 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Thursday 05 March 2026  16:19:02 +0000 (0:00:00.832)       0:04:04.124 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Thursday 05 March 2026  16:19:03 +0000 (0:00:00.976)       0:04:05.100 ********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install older version of Cluster API] ************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:19:07 +0000 (0:00:03.079)       0:04:08.180 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:19:08 +0000 (0:00:01.883)       0:04:10.063 ********",
                                "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 05 March 2026  16:19:08 +0000 (0:00:00.039)       0:04:10.103 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Thursday 05 March 2026  16:19:09 +0000 (0:00:00.607)       0:04:10.710 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:20:28 +0000 (0:01:18.833)       0:05:29.544 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 05 March 2026  16:20:28 +0000 (0:00:00.050)       0:05:29.594 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:20:28 +0000 (0:00:00.333)       0:05:29.927 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.8.4/clusterctl-linux-amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:20:28 +0000 (0:00:00.039)       0:05:29.967 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:20:30 +0000 (0:00:01.587)       0:05:31.554 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Thursday 05 March 2026  16:20:30 +0000 (0:00:00.039)       0:05:31.593 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.713)       0:05:32.306 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.041)       0:05:32.348 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.038)       0:05:32.386 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.032)       0:05:32.419 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.034)       0:05:32.454 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.031)       0:05:32.485 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Thursday 05 March 2026  16:20:31 +0000 (0:00:00.281)       0:05:32.766 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Thursday 05 March 2026  16:20:33 +0000 (0:00:02.349)       0:05:35.116 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Thursday 05 March 2026  16:20:34 +0000 (0:00:00.846)       0:05:35.962 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Thursday 05 March 2026  16:20:57 +0000 (0:00:22.672)       0:05:58.634 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Thursday 05 March 2026  16:20:57 +0000 (0:00:00.033)       0:05:58.668 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Thursday 05 March 2026  16:20:57 +0000 (0:00:00.032)       0:05:58.700 ********",
                                "changed: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***",
                                "Thursday 05 March 2026  16:21:38 +0000 (0:00:40.532)       0:06:39.232 ********",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****",
                                "Thursday 05 March 2026  16:21:38 +0000 (0:00:00.083)       0:06:39.316 ********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=128  changed=60   unreachable=0    failed=0    skipped=44   rescued=0    ignored=3",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 05 March 2026  16:21:44 +0000 (0:00:06.090)       0:06:45.406 ********",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 111.61s",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 78.83s",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 40.53s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems -- 23.12s",
                                "vexxhost.kubernetes.cluster_api : Initialize the management cluster ---- 22.67s",
                                "vexxhost.containers.containerd : Install AppArmor packages ------------- 17.69s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.09s",
                                "Install Debian packages ------------------------------------------------- 5.76s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 4.96s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 4.09s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.37s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.34s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 3.08s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.06s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.35s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.28s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.19s",
                                "Gathering Facts --------------------------------------------------------- 1.88s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.83s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.79s",
                                "INFO     [cluster-api > prepare] Executed: Successful",
                                "INFO     [cluster-api > converge] Executing",
                                "",
                                "PLAY [Converge] ****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:21:45 +0000 (0:00:00.018)       0:00:00.018 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:21:46 +0000 (0:00:01.444)       0:00:01.463 ********",
                                "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 05 March 2026  16:21:46 +0000 (0:00:00.093)       0:00:01.556 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Thursday 05 March 2026  16:21:47 +0000 (0:00:00.758)       0:00:02.315 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:21:50 +0000 (0:00:03.159)       0:00:05.474 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 05 March 2026  16:21:50 +0000 (0:00:00.044)       0:00:05.518 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:21:51 +0000 (0:00:00.423)       0:00:05.942 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.5/clusterctl-linux-amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:21:51 +0000 (0:00:00.047)       0:00:05.989 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:21:52 +0000 (0:00:01.542)       0:00:07.532 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Thursday 05 March 2026  16:21:52 +0000 (0:00:00.037)       0:00:07.569 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:21:54 +0000 (0:00:01.116)       0:00:08.685 ********",
                                "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 05 March 2026  16:21:54 +0000 (0:00:00.048)       0:00:08.734 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Thursday 05 March 2026  16:21:54 +0000 (0:00:00.657)       0:00:09.392 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Thursday 05 March 2026  16:21:55 +0000 (0:00:00.324)       0:00:09.717 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Thursday 05 March 2026  16:21:55 +0000 (0:00:00.727)       0:00:10.445 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Thursday 05 March 2026  16:21:56 +0000 (0:00:00.766)       0:00:11.211 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Thursday 05 March 2026  16:21:59 +0000 (0:00:02.640)       0:00:13.852 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Thursday 05 March 2026  16:21:59 +0000 (0:00:00.333)       0:00:14.185 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Thursday 05 March 2026  16:22:01 +0000 (0:00:02.390)       0:00:16.575 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Thursday 05 March 2026  16:22:03 +0000 (0:00:01.149)       0:00:17.725 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Thursday 05 March 2026  16:22:03 +0000 (0:00:00.036)       0:00:17.762 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Thursday 05 March 2026  16:22:03 +0000 (0:00:00.063)       0:00:17.825 ********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Thursday 05 March 2026  16:22:15 +0000 (0:00:12.617)       0:00:30.443 ********",
                                "changed: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})",
                                "changed: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***",
                                "Thursday 05 March 2026  16:22:55 +0000 (0:00:39.313)       0:01:09.756 ********",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****",
                                "Thursday 05 March 2026  16:22:55 +0000 (0:00:00.072)       0:01:09.829 ********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=21   changed=10   unreachable=0    failed=0    skipped=4    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 05 March 2026  16:23:01 +0000 (0:00:06.215)       0:01:16.044 ********",
                                "===============================================================================",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 39.31s",
                                "vexxhost.kubernetes.cluster_api : Run upgrade if required -------------- 12.62s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.22s",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.16s",
                                "vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.64s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.39s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.54s",
                                "Gathering Facts --------------------------------------------------------- 1.44s",
                                "vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 1.15s",
                                "vexxhost.kubernetes.clusterctl : Create a configuration file ------------ 1.12s",
                                "vexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.77s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.76s",
                                "vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.73s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.66s",
                                "vexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.42s",
                                "vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.33s",
                                "vexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.32s",
                                "vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.09s",
                                "vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.07s",
                                "vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping --- 0.06s",
                                "INFO     [cluster-api > converge] Executed: Successful",
                                "INFO     [cluster-api > idempotence] Executing",
                                "",
                                "PLAY [Converge] ****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:23:02 +0000 (0:00:00.016)       0:00:00.016 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:23:03 +0000 (0:00:01.493)       0:00:01.510 ********",
                                "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 05 March 2026  16:23:03 +0000 (0:00:00.092)       0:00:01.602 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Thursday 05 March 2026  16:23:04 +0000 (0:00:00.728)       0:00:02.330 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 05 March 2026  16:23:08 +0000 (0:00:03.403)       0:00:05.734 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 05 March 2026  16:23:08 +0000 (0:00:00.050)       0:00:05.785 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 05 March 2026  16:23:08 +0000 (0:00:00.460)       0:00:06.246 ********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.5/clusterctl-linux-amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 05 March 2026  16:23:08 +0000 (0:00:00.039)       0:00:06.285 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 05 March 2026  16:23:09 +0000 (0:00:00.575)       0:00:06.861 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Thursday 05 March 2026  16:23:09 +0000 (0:00:00.038)       0:00:06.900 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 05 March 2026  16:23:10 +0000 (0:00:00.780)       0:00:07.680 ********",
                                "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 05 March 2026  16:23:10 +0000 (0:00:00.043)       0:00:07.724 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Thursday 05 March 2026  16:23:10 +0000 (0:00:00.616)       0:00:08.341 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Thursday 05 March 2026  16:23:11 +0000 (0:00:00.314)       0:00:08.655 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Thursday 05 March 2026  16:23:11 +0000 (0:00:00.667)       0:00:09.322 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Thursday 05 March 2026  16:23:12 +0000 (0:00:00.752)       0:00:10.074 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Thursday 05 March 2026  16:23:14 +0000 (0:00:02.346)       0:00:12.421 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Thursday 05 March 2026  16:23:15 +0000 (0:00:00.317)       0:00:12.738 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Thursday 05 March 2026  16:23:17 +0000 (0:00:02.323)       0:00:15.062 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Thursday 05 March 2026  16:23:18 +0000 (0:00:00.978)       0:00:16.041 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Thursday 05 March 2026  16:23:18 +0000 (0:00:00.043)       0:00:16.085 ********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Thursday 05 March 2026  16:23:18 +0000 (0:00:00.058)       0:00:16.143 ********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Thursday 05 March 2026  16:23:18 +0000 (0:00:00.040)       0:00:16.184 ********",
                                "ok: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs] ***",
                                "Thursday 05 March 2026  16:23:21 +0000 (0:00:03.229)       0:00:19.414 ********",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanetemplates.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigs.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/template/properties/spec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/initConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller] => (item={'crd': 'kubeadmcontrolplanes.controlplane.cluster.x-k8s.io', 'path': '/spec/versions/2/schema/openAPIV3Schema/properties/spec/properties/kubeadmConfigSpec/properties/joinConfiguration/properties/nodeRegistration/properties/imagePullPolicy/default'})",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout] ****",
                                "Thursday 05 March 2026  16:23:21 +0000 (0:00:00.071)       0:00:19.485 ********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=20   changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 05 March 2026  16:23:22 +0000 (0:00:01.084)       0:00:20.570 ********",
                                "===============================================================================",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.40s",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components --- 3.23s",
                                "vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.35s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.32s",
                                "Gathering Facts --------------------------------------------------------- 1.49s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 1.08s",
                                "vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 0.98s",
                                "vexxhost.kubernetes.clusterctl : Create a configuration file ------------ 0.78s",
                                "vexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.75s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.73s",
                                "vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.67s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.62s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 0.58s",
                                "vexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.46s",
                                "vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.32s",
                                "vexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.31s",
                                "vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.09s",
                                "vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.07s",
                                "vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping --- 0.06s",
                                "vexxhost.containers.package : Update state for tar ---------------------- 0.05s",
                                "INFO     [cluster-api > idempotence] Executed: Successful",
                                "INFO     [cluster-api > side_effect] Executing",
                                "WARNING  [cluster-api > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 05 March 2026  16:23:23 +0000 (0:00:00.009)       0:00:00.009 ********",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.20/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Include default variables] ***********************************************",
                                "Thursday 05 March 2026  16:23:25 +0000 (0:00:01.465)       0:00:01.474 ********",
                                "ok: [controller] => (item=clusterctl)",
                                "ok: [controller] => (item=cluster_api)",
                                "",
                                "TASK [Ensure the \"clusterctl\" binary is installed] *****************************",
                                "Thursday 05 March 2026  16:23:25 +0000 (0:00:00.051)       0:00:01.525 ********",
                                "changed: [controller]",
                                "",
                                "TASK [Assert that the \"clusterctl\" binary is installed and version matches] ****",
                                "Thursday 05 March 2026  16:23:25 +0000 (0:00:00.443)       0:00:01.969 ********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Ensure that the Cluster API components are ready] ************************",
                                "Thursday 05 March 2026  16:23:25 +0000 (0:00:00.062)       0:00:02.031 ********",
                                "ok: [controller] => (item={'namespace': 'capi-kubeadm-bootstrap-system', 'name': 'capi-kubeadm-bootstrap-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capi-kubeadm-control-plane-system', 'name': 'capi-kubeadm-control-plane-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capi-system', 'name': 'capi-controller-manager'})",
                                "ok: [controller] => (item={'namespace': 'capo-system', 'name': 'capo-controller-manager'})",
                                "",
                                "TASK [Ensure that the Cluster API CRDs exist] **********************************",
                                "Thursday 05 March 2026  16:23:29 +0000 (0:00:03.763)       0:00:05.795 ********",
                                "ok: [controller] => (item=clusters.cluster.x-k8s.io)",
                                "ok: [controller] => (item=openstackclusters.infrastructure.cluster.x-k8s.io)",
                                "ok: [controller] => (item=kubeadmcontrolplanes.controlplane.cluster.x-k8s.io)",
                                "ok: [controller] => (item=machinedeployments.cluster.x-k8s.io)",
                                "ok: [controller] => (item=machines.cluster.x-k8s.io)",
                                "ok: [controller] => (item=openstackmachines.infrastructure.cluster.x-k8s.io)",
                                "",
                                "TASK [Get a list of all Cluster API providers] *********************************",
                                "Thursday 05 March 2026  16:23:34 +0000 (0:00:04.838)       0:00:10.633 ********",
                                "ok: [controller]",
                                "",
                                "TASK [Parse provider resources into version mapping] ***************************",
                                "Thursday 05 March 2026  16:23:35 +0000 (0:00:00.843)       0:00:11.477 ********",
                                "ok: [controller]",
                                "",
                                "TASK [Assert that the versions are the correct ones] ***************************",
                                "Thursday 05 March 2026  16:23:35 +0000 (0:00:00.066)       0:00:11.544 ********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Create a test kcptemplate] ***********************************************",
                                "Thursday 05 March 2026  16:23:35 +0000 (0:00:00.042)       0:00:11.586 ********",
                                "changed: [controller]",
                                "",
                                "TASK [Reapply the test kcptemplate] ********************************************",
                                "Thursday 05 March 2026  16:23:36 +0000 (0:00:01.148)       0:00:12.735 ********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=11   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 05 March 2026  16:23:37 +0000 (0:00:00.867)       0:00:13.602 ********",
                                "===============================================================================",
                                "Ensure that the Cluster API CRDs exist ---------------------------------- 4.84s",
                                "Ensure that the Cluster API components are ready ------------------------ 3.76s",
                                "Gathering Facts --------------------------------------------------------- 1.47s",
                                "Create a test kcptemplate ----------------------------------------------- 1.15s",
                                "Reapply the test kcptemplate -------------------------------------------- 0.87s",
                                "Get a list of all Cluster API providers --------------------------------- 0.84s",
                                "Ensure the \"clusterctl\" binary is installed ----------------------------- 0.44s",
                                "Parse provider resources into version mapping --------------------------- 0.07s",
                                "Assert that the \"clusterctl\" binary is installed and version matches ---- 0.06s",
                                "Include default variables ----------------------------------------------- 0.05s",
                                "Assert that the versions are the correct ones --------------------------- 0.04s",
                                "INFO     [cluster-api > verify] Executed: Successful",
                                "INFO     [cluster-api > cleanup] Executing",
                                "WARNING  [cluster-api > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [cluster-api > destroy] Executing",
                                "WARNING  [cluster-api > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [cluster-api > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0011-1bec-028a-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:37.962087Z",
                            "start": "2026-03-05T16:14:34.796075Z"
                        },
                        "id": "0242ac17-0011-1bec-028a-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-03-05T16:23:42.290657Z",
                    "start": "2026-03-05T16:23:38.696841Z"
                },
                "id": "0242ac17-0011-60b0-ac7d-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-0011-60b0-ac7d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:38.752021Z",
                            "start": "2026-03-05T16:23:38.706637Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-60b0-ac7d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:38.802587Z",
                            "start": "2026-03-05T16:23:38.760222Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-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/35ed07f9b6174a9391e872ef203c4911/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-60b0-ac7d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:39.879450Z",
                            "start": "2026-03-05T16:23:38.807204Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-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.149:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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.149:/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/35ed07f9b6174a9391e872ef203c4911/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.149:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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.149:/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/35ed07f9b6174a9391e872ef203c4911/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.149:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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.149:/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/35ed07f9b6174a9391e872ef203c4911/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-60b0-ac7d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:41.582940Z",
                            "start": "2026-03-05T16:23:39.887293Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/artifacts/* /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.017718",
                                    "end": "2026-03-05 16:23:42.005688",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/artifacts/* /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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-03-05 16:23:41.987970",
                                    "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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/docs/* /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008426",
                                    "end": "2026-03-05 16:23:42.248331",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/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/35ed07f9b6174a9391e872ef203c4911/work/docs/* /var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/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-03-05 16:23:42.239905",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-60b0-ac7d-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:42.290657Z",
                            "start": "2026-03-05T16:23:41.596074Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-05T16:23:42.839126Z",
                    "start": "2026-03-05T16:23:42.299505Z"
                },
                "id": "0242ac17-0011-60b0-ac7d-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyNYcoGpW1grY4D84xOmRDM5FIgwalOoRqU2u7xTOW62hw5/8B5ySDNrmYWwY4Wc4Xs5JWkXDYRp2cxXHV4FtbOz0BDVnCPl3oGjE+EYNcfuqB9y+qg11qIiuoUhO3pN6JKCH5hWhJuGYRoPtCf0Vd+bngFNzHT0b3dE83EepspQe/b1XmwNOP9QCy+WNW8SziKCaQcg+2tzJ82wuZ/zlE/eDbvGHQ2DvpGHMCUmGU74wklFq4cMkkKp4QwnD8QDPDjuM8jLgREqwAoSxCE7NmQgQE6s1ghYaXGkkKzkudnQH7sZjx9Yb6gHP/dCv0p4/ip8Z77k+q2AqkOD3hJwQW/xIPM/3O4mcGJ+eJTL4oDZ+CoMSI/VtdAQDTCSjUR2Jp4yO8sKOqmg3KPaASHZyvuzHGpQAR3J6cwwFUqqWbGy2JWoPOE7MjarkW6RW/fjRN8GNap1cFPRvbT+Kt2iMtmbuBC0oBIBHueLufDHqzGqskvB8a6x7Mpvs4kMwiZlM= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyNYcoGpW1grY4D84xOmRDM5FIgwalOoRqU2u7xTOW62hw5/8B5ySDNrmYWwY4Wc4Xs5JWkXDYRp2cxXHV4FtbOz0BDVnCPl3oGjE+EYNcfuqB9y+qg11qIiuoUhO3pN6JKCH5hWhJuGYRoPtCf0Vd+bngFNzHT0b3dE83EepspQe/b1XmwNOP9QCy+WNW8SziKCaQcg+2tzJ82wuZ/zlE/eDbvGHQ2DvpGHMCUmGU74wklFq4cMkkKp4QwnD8QDPDjuM8jLgREqwAoSxCE7NmQgQE6s1ghYaXGkkKzkudnQH7sZjx9Yb6gHP/dCv0p4/ip8Z77k+q2AqkOD3hJwQW/xIPM/3O4mcGJ+eJTL4oDZ+CoMSI/VtdAQDTCSjUR2Jp4yO8sKOqmg3KPaASHZyvuzHGpQAR3J6cwwFUqqWbGy2JWoPOE7MjarkW6RW/fjRN8GNap1cFPRvbT+Kt2iMtmbuBC0oBIBHueLufDHqzGqskvB8a6x7Mpvs4kMwiZlM= 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-0011-60b0-ac7d-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/35ed07f9b6174a9391e872ef203c4911/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-05T16:23:42.839126Z",
                            "start": "2026-03-05T16:23:42.306285Z"
                        },
                        "id": "0242ac17-0011-60b0-ac7d-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
}
]
