[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-06T02:03:01.479278Z",
                    "start": "2026-03-06T02:02:58.900725Z"
                },
                "id": "0242ac17-0011-85e1-30b3-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-06",
                                    "day": "06",
                                    "epoch": "1772762579",
                                    "epoch_int": "1772762579",
                                    "hour": "02",
                                    "iso8601": "2026-03-06T02:02:59Z",
                                    "iso8601_basic": "20260306T020259553458",
                                    "iso8601_basic_short": "20260306T020259",
                                    "iso8601_micro": "2026-03-06T02:02:59.553458Z",
                                    "minute": "02",
                                    "month": "03",
                                    "second": "59",
                                    "time": "02:02:59",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "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/1fe8c7420646459e897bda69c56e493b/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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": "2700129",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-PrtaRSDxSk9M/agent.2700128",
                                    "TMP": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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": 3.404296875,
                                    "1m": 6.43310546875,
                                    "5m": 3.81982421875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 5464,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17390,
                                        "used": 14700
                                    },
                                    "real": {
                                        "free": 5464,
                                        "total": 32090,
                                        "used": 26626
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8810342,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791238,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691423,
                                        "inode_total": 20643840,
                                        "inode_used": 3952417,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36087160832,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810337,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791243,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691423,
                                        "inode_total": 20643840,
                                        "inode_used": 3952417,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36087140352,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810334,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791246,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691423,
                                        "inode_total": 20643840,
                                        "inode_used": 3952417,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36087128064,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810328,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791252,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691423,
                                        "inode_total": 20643840,
                                        "inode_used": 3952417,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36087103488,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810296,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791284,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691422,
                                        "inode_total": 20643840,
                                        "inode_used": 3952418,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086972416,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810289,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791291,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691422,
                                        "inode_total": 20643840,
                                        "inode_used": 3952418,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086943744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810256,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791324,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691422,
                                        "inode_total": 20643840,
                                        "inode_used": 3952418,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086808576,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810244,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791336,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691422,
                                        "inode_total": 20643840,
                                        "inode_used": 3952418,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086759424,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810241,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791339,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691422,
                                        "inode_total": 20643840,
                                        "inode_used": 3952418,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086747136,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 225004681,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 38936036,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 63993682,
                                        "inode_total": 67108864,
                                        "inode_used": 3115182,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 921619173376,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8810208,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31791372,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16691419,
                                        "inode_total": 20643840,
                                        "inode_used": 3952421,
                                        "mount": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 36086611968,
                                        "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": 36426309,
                                "ansible_user_dir": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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-06T02:02:59.998473Z",
                            "start": "2026-03-06T02:02:58.913358Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:00.027513Z",
                            "start": "2026-03-06T02:03:00.004805Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "1fe/oss/1fe8c7420646459e897bda69c56e493b"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:00.070939Z",
                            "start": "2026-03-06T02:03:00.042096Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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/235\nEvent ID: 62655ae0-1900-11f1-9569-19afb6ddb422\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:00.117164Z",
                            "start": "2026-03-06T02:03:00.077898Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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: np0000158019\nUsername: zuul\nDistro: Debian 13.3\nProvider: yul1\nRegion: ca-ymq-1\nLabel: debian-trixie\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.4\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:00.206660Z",
                            "start": "2026-03-06T02:03:00.120306Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:00.603845Z",
                            "start": "2026-03-06T02:03:00.214971Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "38ee4fc6dbae01a6d2fde0606087005a96aad809",
                            "dest": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "38ee4fc6dbae01a6d2fde0606087005a96aad809",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/.ansible/tmp/ansible-tmp-1772762580.6356602-84-234299776912282/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "474b58b7cad98943ea1beee82c57439c",
                            "mode": "0644",
                            "owner": "root",
                            "size": 21998,
                            "src": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/.ansible/tmp/ansible-tmp-1772762580.6356602-84-234299776912282/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:01.479278Z",
                            "start": "2026-03-06T02:03:00.608216Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-06T02:03:08.693904Z",
                    "start": "2026-03-06T02:03:01.486256Z"
                },
                "id": "0242ac17-0011-85e1-30b3-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/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:01.709035Z",
                            "start": "2026-03-06T02:03:01.493180Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:01.743734Z",
                            "start": "2026-03-06T02:03:01.713502Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.676199",
                            "end": "2026-03-06 02:03:02.782484",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_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-85e1-30b3-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-06 02:03:02.106285",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa.pub\nThe key fingerprint is:\nSHA256:+0C1OGUcjarWtprcrbNbdYk9rTa/zv1iYRFilz9TqAA zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|        E..o   o |\n|         .o.+ = .|\n|         .=o + o.|\n|        .= ..o.=.|\n|       oS . o =.+|\n|      o.oo . .oo |\n|     . .o..  .+. |\n|     . oo=   .+o.|\n|      +.==o  ..=*|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:+0C1OGUcjarWtprcrbNbdYk9rTa/zv1iYRFilz9TqAA zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|        E..o   o |",
                                "|         .o.+ = .|",
                                "|         .=o + o.|",
                                "|        .= ..o.=.|",
                                "|       oS . o =.+|",
                                "|      o.oo . .oo |",
                                "|     . .o..  .+. |",
                                "|     . oo=   .+o.|",
                                "|      +.==o  ..=*|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-85e1-30b3-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:02.828226Z",
                            "start": "2026-03-06T02:03:01.763790Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:02.862341Z",
                            "start": "2026-03-06T02:03:02.831762Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:02.901525Z",
                            "start": "2026-03-06T02:03:02.878055Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDhTWtfsobYHtwp1y9ArRs7rma4v0pkIfZ29XjjI6A4p8Dto4RUqdL1MWRSC/xOARs+3mCg7lm8ctkKLmgrkpiNuvTso9aeJ5BAS1Jr8FjS7Zb1Kgthw0FnPkICA/SqfUeD+9Og4yoYtqgjCEBVPjiTKA69Kp6IVxq85mk+AY6UiDx+IDKcpiEAEVPJSADl35GfLwviXefazlbiz5MHACnT56oo3NX8M0v650kaj6TW8LvcIbw5Dch5BKAU+wAtqmtul6LvEPbQ34MdvaKJxy1iHmh1Y77fXrBnLgDULp7i9fyei+MuTynpw5gek4BxMctEQzvffzoD9LF/Re4J+NRSg0vyzz2SWcQwwl5jpke3qobInNdGtA4gsGBv7DtnMsJvF3iTFFjjmlpnNxs48Yb9kaPSLg/d9ysP2Mlx3Ns1lD9ga/1JFrcLnmibOwJxC6vlQxqJN4j5PPvEJ2psJBSXf53huOZBO8aswSv88eqnGiRHWbPBxwL/RTYIj6pen/8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDhTWtfsobYHtwp1y9ArRs7rma4v0pkIfZ29XjjI6A4p8Dto4RUqdL1MWRSC/xOARs+3mCg7lm8ctkKLmgrkpiNuvTso9aeJ5BAS1Jr8FjS7Zb1Kgthw0FnPkICA/SqfUeD+9Og4yoYtqgjCEBVPjiTKA69Kp6IVxq85mk+AY6UiDx+IDKcpiEAEVPJSADl35GfLwviXefazlbiz5MHACnT56oo3NX8M0v650kaj6TW8LvcIbw5Dch5BKAU+wAtqmtul6LvEPbQ34MdvaKJxy1iHmh1Y77fXrBnLgDULp7i9fyei+MuTynpw5gek4BxMctEQzvffzoD9LF/Re4J+NRSg0vyzz2SWcQwwl5jpke3qobInNdGtA4gsGBv7DtnMsJvF3iTFFjjmlpnNxs48Yb9kaPSLg/d9ysP2Mlx3Ns1lD9ga/1JFrcLnmibOwJxC6vlQxqJN4j5PPvEJ2psJBSXf53huOZBO8aswSv88eqnGiRHWbPBxwL/RTYIj6pen/8= 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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:03.425475Z",
                            "start": "2026-03-06T02:03:02.909988Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:03.629020Z",
                            "start": "2026-03-06T02:03:03.429368Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "f26a6a3f83a45d6858dd2e1c9a5c8a103c942511",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "1fe8c7420646459e897bda69c56e493b_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "f26a6a3f83a45d6858dd2e1c9a5c8a103c942511",
                                    "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-1772762583.6734219-190-50221208838612/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f7e42e00f46c0075184f52a2e32613c5",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772762583.6734219-190-50221208838612/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:04.233931Z",
                            "start": "2026-03-06T02:03:03.632897Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "30ef4d8c4116e61ec3395ddb6692a4bad5201a3f",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "1fe8c7420646459e897bda69c56e493b_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "30ef4d8c4116e61ec3395ddb6692a4bad5201a3f",
                                    "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-1772762584.3722959-200-248622785730381/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "10e561af8f609af9ff63178e2d1d9f6d",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772762584.3722959-200-248622785730381/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:04.858903Z",
                            "start": "2026-03-06T02:03:04.326476Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:04.888091Z",
                            "start": "2026-03-06T02:03:04.863864Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:05.330603Z",
                            "start": "2026-03-06T02:03:04.897795Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa"
                            ],
                            "delta": "0:00:00.014328",
                            "end": "2026-03-06 02:03:05.576057",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_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-85e1-30b3-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-06 02:03:05.561729",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/1fe8c7420646459e897bda69c56e493b_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-85e1-30b3-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:05.627424Z",
                            "start": "2026-03-06T02:03:05.339510Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:05.961757Z",
                            "start": "2026-03-06T02:03:05.632741Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:05.991565Z",
                            "start": "2026-03-06T02:03:05.965695Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:06.354225Z",
                            "start": "2026-03-06T02:03:06.004088Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:07.430379Z",
                            "start": "2026-03-06T02:03:06.362488Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:08.083164Z",
                            "start": "2026-03-06T02:03:07.439048Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-85e1-30b3-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:08.693904Z",
                            "start": "2026-03-06T02:03:08.091053Z"
                        },
                        "id": "0242ac17-0011-85e1-30b3-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-06T02:03:12.334079Z",
                    "start": "2026-03-06T02:03:09.429977Z"
                },
                "id": "0242ac17-0011-de72-6436-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-1772762589.4824188-5-205535830787548/uv-x86_64-unknown-linux-gnuntp654dj.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-1772762589.4824188-5-205535830787548/uv-x86_64-unknown-linux-gnuntp654dj.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-de72-6436-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:11.799844Z",
                            "start": "2026-03-06T02:03:09.441955Z"
                        },
                        "id": "0242ac17-0011-de72-6436-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.013612",
                            "end": "2026-03-06 02:03:10.539118",
                            "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-de72-6436-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-06 02:03:10.525506",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-de72-6436-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-de72-6436-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:12.334079Z",
                            "start": "2026-03-06T02:03:11.819943Z"
                        },
                        "id": "0242ac17-0011-de72-6436-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-06T02:12:36.579292Z",
                    "start": "2026-03-06T02:03:13.054789Z"
                },
                "id": "0242ac17-0011-8315-3053-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "38ee4fc6dbae01a6d2fde0606087005a96aad809",
                            "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": "38ee4fc6dbae01a6d2fde0606087005a96aad809",
                                    "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-1772762593.1071837-5-220950126990435/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "474b58b7cad98943ea1beee82c57439c",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 21998,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772762593.1071837-5-220950126990435/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:03:14.008803Z",
                            "start": "2026-03-06T02:03:13.064368Z"
                        },
                        "id": "0242ac17-0011-8315-3053-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-06T02:03:14.339232Z",
                            "start": "2026-03-06T02:03:14.014407Z"
                        },
                        "id": "0242ac17-0011-8315-3053-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:23.342558",
                            "end": "2026-03-06 02:12:36.423972",
                            "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-8315-3053-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-06 02:03:13.081414",
                            "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 pygments\n Downloading cryptography\n Downloading ansible-core\nInstalled 36 packages in 52ms\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] *********************************************************\nFriday 06 March 2026  02:05:48 +0000 (0:00:00.029)       0:00:00.029 **********\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] *************************************************\nFriday 06 March 2026  02:05:49 +0000 (0:00:01.290)       0:00:01.319 **********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 06 March 2026  02:05:57 +0000 (0:00:08.128)       0:00:09.448 **********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nFriday 06 March 2026  02:05:58 +0000 (0:00:00.835)       0:00:10.283 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nFriday 06 March 2026  02:05:59 +0000 (0:00:00.429)       0:00:10.712 **********\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] ****\nFriday 06 March 2026  02:06:00 +0000 (0:00:01.462)       0:00:12.174 **********\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] *********\nFriday 06 March 2026  02:06:01 +0000 (0:00:00.945)       0:00:13.120 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nFriday 06 March 2026  02:06:01 +0000 (0:00:00.422)       0:00:13.542 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nFriday 06 March 2026  02:06:02 +0000 (0:00:00.295)       0:00:13.837 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nFriday 06 March 2026  02:06:02 +0000 (0:00:00.034)       0:00:13.872 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nFriday 06 March 2026  02:06:02 +0000 (0:00:00.050)       0:00:13.922 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nFriday 06 March 2026  02:06:03 +0000 (0:00:00.977)       0:00:14.899 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nFriday 06 March 2026  02:06:03 +0000 (0:00:00.318)       0:00:15.218 **********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 06 March 2026  02:06:03 +0000 (0:00:00.063)       0:00:15.281 **********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:04 +0000 (0:00:00.831)       0:00:16.113 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:06:04 +0000 (0:00:00.443)       0:00:16.556 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 06 March 2026  02:06:05 +0000 (0:00:00.042)       0:00:16.598 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:05 +0000 (0:00:00.322)       0:00:16.921 **********\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] *******************\nFriday 06 March 2026  02:06:05 +0000 (0:00:00.097)       0:00:17.018 **********\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] *****************\nFriday 06 March 2026  02:06:06 +0000 (0:00:00.856)       0:00:17.874 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:06 +0000 (0:00:00.044)       0:00:17.919 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:06:06 +0000 (0:00:00.303)       0:00:18.223 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:07 +0000 (0:00:00.961)       0:00:19.185 **********\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] *******************\nFriday 06 March 2026  02:06:07 +0000 (0:00:00.081)       0:00:19.266 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:08 +0000 (0:00:00.921)       0:00:20.188 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 06 March 2026  02:06:12 +0000 (0:00:03.496)       0:00:23.685 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 06 March 2026  02:06:12 +0000 (0:00:00.037)       0:00:23.722 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 06 March 2026  02:06:12 +0000 (0:00:00.031)       0:00:23.754 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 06 March 2026  02:06:12 +0000 (0:00:00.037)       0:00:23.791 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 06 March 2026  02:06:21 +0000 (0:00:08.939)       0:00:32.731 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 06 March 2026  02:06:21 +0000 (0:00:00.708)       0:00:33.440 **********\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] **********\nFriday 06 March 2026  02:06:23 +0000 (0:00:01.449)       0:00:34.889 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 06 March 2026  02:06:24 +0000 (0:00:00.808)       0:00:35.697 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nFriday 06 March 2026  02:06:24 +0000 (0:00:00.008)       0:00:35.706 **********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 06 March 2026  02:06:25 +0000 (0:00:01.110)       0:00:36.816 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 06 March 2026  02:06:27 +0000 (0:00:01.846)       0:00:38.663 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nFriday 06 March 2026  02:06:27 +0000 (0:00:00.776)       0:00:39.440 **********\n[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000158019'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 np0000158019'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] ***\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.686)       0:00:40.126 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.045)       0:00:40.171 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.042)       0:00:40.214 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.044)       0:00:40.259 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.040)       0:00:40.299 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:28 +0000 (0:00:00.044)       0:00:40.344 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:29 +0000 (0:00:00.303)       0:00:40.647 **********\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] *******************\nFriday 06 March 2026  02:06:29 +0000 (0:00:00.046)       0:00:40.694 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:30 +0000 (0:00:01.611)       0:00:42.306 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:30 +0000 (0:00:00.044)       0:00:42.350 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:31 +0000 (0:00:00.317)       0:00:42.668 **********\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] *******************\nFriday 06 March 2026  02:06:31 +0000 (0:00:00.051)       0:00:42.719 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:33 +0000 (0:00:01.945)       0:00:44.665 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 06 March 2026  02:06:33 +0000 (0:00:00.048)       0:00:44.713 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 06 March 2026  02:06:33 +0000 (0:00:00.034)       0:00:44.748 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 06 March 2026  02:06:33 +0000 (0:00:00.039)       0:00:44.787 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 06 March 2026  02:06:33 +0000 (0:00:00.039)       0:00:44.827 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 06 March 2026  02:06:34 +0000 (0:00:00.888)       0:00:45.715 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 06 March 2026  02:06:34 +0000 (0:00:00.661)       0:00:46.377 **********\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] **********\nFriday 06 March 2026  02:06:36 +0000 (0:00:01.419)       0:00:47.796 **********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 06 March 2026  02:06:36 +0000 (0:00:00.749)       0:00:48.546 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 06 March 2026  02:06:36 +0000 (0:00:00.005)       0:00:48.551 **********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:37 +0000 (0:00:00.485)       0:00:49.037 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:37 +0000 (0:00:00.328)       0:00:49.365 **********\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] *******************\nFriday 06 March 2026  02:06:37 +0000 (0:00:00.070)       0:00:49.436 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:38 +0000 (0:00:00.857)       0:00:50.294 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:40 +0000 (0:00:01.670)       0:00:51.965 **********\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] *******************\nFriday 06 March 2026  02:06:40 +0000 (0:00:00.069)       0:00:52.035 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:41 +0000 (0:00:00.785)       0:00:52.820 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nFriday 06 March 2026  02:06:42 +0000 (0:00:01.700)       0:00:54.521 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nFriday 06 March 2026  02:06:43 +0000 (0:00:00.717)       0:00:55.239 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:06:43 +0000 (0:00:00.325)       0:00:55.564 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:44 +0000 (0:00:00.321)       0:00:55.886 **********\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] *******************\nFriday 06 March 2026  02:06:44 +0000 (0:00:00.070)       0:00:55.956 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:45 +0000 (0:00:00.966)       0:00:56.922 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nFriday 06 March 2026  02:06:48 +0000 (0:00:03.004)       0:00:59.927 **********\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] ***********\nFriday 06 March 2026  02:06:48 +0000 (0:00:00.059)       0:00:59.986 **********\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nFriday 06 March 2026  02:06:49 +0000 (0:00:00.845)       0:01:00.831 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nFriday 06 March 2026  02:06:49 +0000 (0:00:00.495)       0:01:01.327 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nFriday 06 March 2026  02:06:50 +0000 (0:00:00.675)       0:01:02.002 **********\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] *********************\nFriday 06 March 2026  02:06:51 +0000 (0:00:01.463)       0:01:03.466 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:06:52 +0000 (0:00:00.318)       0:01:03.785 **********\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] *******************\nFriday 06 March 2026  02:06:52 +0000 (0:00:00.045)       0:01:03.830 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:06:54 +0000 (0:00:01.824)       0:01:05.655 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nFriday 06 March 2026  02:06:54 +0000 (0:00:00.035)       0:01:05.690 **********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nFriday 06 March 2026  02:06:54 +0000 (0:00:00.058)       0:01:05.749 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nFriday 06 March 2026  02:06:54 +0000 (0:00:00.037)       0:01:05.787 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nFriday 06 March 2026  02:06:56 +0000 (0:00:02.768)       0:01:08.555 **********\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] ***\nFriday 06 March 2026  02:06:59 +0000 (0:00:02.273)       0:01:10.829 **********\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] ********\nFriday 06 March 2026  02:07:00 +0000 (0:00:00.909)       0:01:11.738 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nFriday 06 March 2026  02:07:00 +0000 (0:00:00.695)       0:01:12.433 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nFriday 06 March 2026  02:07:01 +0000 (0:00:00.682)       0:01:13.115 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nFriday 06 March 2026  02:07:01 +0000 (0:00:00.430)       0:01:13.546 **********\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] ***********\nFriday 06 March 2026  02:07:01 +0000 (0:00:00.041)       0:01:13.588 **********\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nFriday 06 March 2026  02:07:02 +0000 (0:00:00.790)       0:01:14.379 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nFriday 06 March 2026  02:07:03 +0000 (0:00:00.700)       0:01:15.079 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nFriday 06 March 2026  02:07:04 +0000 (0:00:00.771)       0:01:15.851 **********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 06 March 2026  02:07:04 +0000 (0:00:00.008)       0:01:15.860 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nFriday 06 March 2026  02:07:05 +0000 (0:00:01.476)       0:01:17.336 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nFriday 06 March 2026  02:07:07 +0000 (0:00:01.819)       0:01:19.156 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nFriday 06 March 2026  02:07:08 +0000 (0:00:00.937)       0:01:20.094 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nFriday 06 March 2026  02:07:09 +0000 (0:00:00.843)       0:01:20.937 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nFriday 06 March 2026  02:07:09 +0000 (0:00:00.417)       0:01:21.354 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.568)       0:01:21.923 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.084)       0:01:22.007 **********\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] ***\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.080)       0:01:22.088 **********\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.319)       0:01:22.407 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.035)       0:01:22.443 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.051)       0:01:22.494 **********\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nFriday 06 March 2026  02:07:10 +0000 (0:00:00.041)       0:01:22.536 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.711)       0:01:23.248 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.037)       0:01:23.285 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.039)       0:01:23.324 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.034)       0:01:23.359 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.036)       0:01:23.395 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.038)       0:01:23.434 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.037)       0:01:23.471 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nFriday 06 March 2026  02:07:11 +0000 (0:00:00.038)       0:01:23.509 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nFriday 06 March 2026  02:07:54 +0000 (0:00:42.647)       0:02:06.157 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nFriday 06 March 2026  02:07:54 +0000 (0:00:00.310)       0:02:06.467 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nFriday 06 March 2026  02:07:54 +0000 (0:00:00.034)       0:02:06.502 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.346)       0:02:06.848 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.307)       0:02:07.156 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.299)       0:02:07.455 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.040)       0:02:07.496 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.041)       0:02:07.538 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nFriday 06 March 2026  02:07:55 +0000 (0:00:00.044)       0:02:07.582 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nFriday 06 March 2026  02:08:17 +0000 (0:00:21.367)       0:02:28.950 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nFriday 06 March 2026  02:08:18 +0000 (0:00:01.000)       0:02:29.950 **********\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nFriday 06 March 2026  02:08:18 +0000 (0:00:00.041)       0:02:29.992 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nFriday 06 March 2026  02:08:18 +0000 (0:00:00.032)       0:02:30.024 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nFriday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.061 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nFriday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.098 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nFriday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.134 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nFriday 06 March 2026  02:08:19 +0000 (0:00:00.563)       0:02:30.698 **********\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 06 March 2026  02:08:20 +0000 (0:00:01.133)       0:02:31.832 **********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 06 March 2026  02:08:21 +0000 (0:00:00.867)       0:02:32.700 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:08:21 +0000 (0:00:00.337)       0:02:33.038 **********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 06 March 2026  02:08:22 +0000 (0:00:01.064)       0:02:34.102 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:08:22 +0000 (0:00:00.346)       0:02:34.448 **********\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] *******************\nFriday 06 March 2026  02:08:22 +0000 (0:00:00.041)       0:02:34.490 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:08:23 +0000 (0:00:00.684)       0:02:35.174 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nFriday 06 March 2026  02:08:25 +0000 (0:00:01.851)       0:02:37.026 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nFriday 06 March 2026  02:08:25 +0000 (0:00:00.392)       0:02:37.419 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nFriday 06 March 2026  02:08:26 +0000 (0:00:00.297)       0:02:37.717 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nFriday 06 March 2026  02:08:26 +0000 (0:00:00.384)       0:02:38.101 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nFriday 06 March 2026  02:08:26 +0000 (0:00:00.304)       0:02:38.406 **********\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nFriday 06 March 2026  02:08:27 +0000 (0:00:00.318)       0:02:38.724 **********\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:08:27 +0000 (0:00:00.063)       0:02:38.788 **********\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] *******************\nFriday 06 March 2026  02:08:27 +0000 (0:00:00.051)       0:02:38.839 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:08:28 +0000 (0:00:00.824)       0:02:39.664 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 06 March 2026  02:08:30 +0000 (0:00:02.164)       0:02:41.829 **********\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] ***************\nFriday 06 March 2026  02:08:30 +0000 (0:00:00.099)       0:02:41.928 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nFriday 06 March 2026  02:08:31 +0000 (0:00:00.810)       0:02:42.739 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nFriday 06 March 2026  02:08:32 +0000 (0:00:01.008)       0:02:43.747 **********\nchanged: [controller]\n\nPLAY [Install older version of Cluster API] ************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 06 March 2026  02:08:34 +0000 (0:00:02.273)       0:02:46.021 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 06 March 2026  02:08:35 +0000 (0:00:00.881)       0:02:46.903 **********\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] ***************\nFriday 06 March 2026  02:08:35 +0000 (0:00:00.045)       0:02:46.948 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nFriday 06 March 2026  02:08:36 +0000 (0:00:00.706)       0:02:47.654 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:09:27 +0000 (0:00:51.114)       0:03:38.769 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 06 March 2026  02:09:27 +0000 (0:00:00.041)       0:03:38.811 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:09:27 +0000 (0:00:00.320)       0:03:39.132 **********\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] *******************\nFriday 06 March 2026  02:09:27 +0000 (0:00:00.047)       0:03:39.179 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:09:29 +0000 (0:00:02.101)       0:03:41.281 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nFriday 06 March 2026  02:09:29 +0000 (0:00:00.036)       0:03:41.317 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.734)       0:03:42.052 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.041)       0:03:42.093 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.042)       0:03:42.136 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.035)       0:03:42.171 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.043)       0:03:42.215 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.041)       0:03:42.257 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nFriday 06 March 2026  02:09:30 +0000 (0:00:00.332)       0:03:42.590 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nFriday 06 March 2026  02:09:33 +0000 (0:00:02.202)       0:03:44.792 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nFriday 06 March 2026  02:09:34 +0000 (0:00:00.844)       0:03:45.636 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nFriday 06 March 2026  02:09:40 +0000 (0:00:06.638)       0:03:52.275 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nFriday 06 March 2026  02:09:40 +0000 (0:00:00.033)       0:03:52.308 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nFriday 06 March 2026  02:09:40 +0000 (0:00:00.031)       0:03:52.340 **********\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] ***\nFriday 06 March 2026  02:10:19 +0000 (0:00:38.652)       0:04:30.993 **********\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] ****\nFriday 06 March 2026  02:10:19 +0000 (0:00:00.071)       0:04:31.064 **********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=128  changed=60   unreachable=0    failed=0    skipped=44   rescued=0    ignored=3\n\n\nTASKS RECAP ********************************************************************\nFriday 06 March 2026  02:10:25 +0000 (0:00:06.145)       0:04:37.210 **********\n===============================================================================\nvexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 51.11s\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 42.65s\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 38.65s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems -- 21.37s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 8.94s\nInstall Debian packages ------------------------------------------------- 8.13s\nvexxhost.kubernetes.cluster_api : Initialize the management cluster ----- 6.64s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.15s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.50s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 3.32s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.00s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 2.77s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.27s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.27s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.20s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.16s\nvexxhost.containers.download_artifact : Download item ------------------- 2.10s\nvexxhost.containers.download_artifact : Download item ------------------- 1.95s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.85s\nvexxhost.containers.download_artifact : Download item ------------------- 1.82s\nINFO     [cluster-api > prepare] Executed: Successful\nINFO     [cluster-api > converge] Executing\n\nPLAY [Converge] ****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 06 March 2026  02:10:26 +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] ***\nFriday 06 March 2026  02:10:28 +0000 (0:00:01.463)       0:00:01.481 **********\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] ***************\nFriday 06 March 2026  02:10:28 +0000 (0:00:00.078)       0:00:01.560 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nFriday 06 March 2026  02:10:29 +0000 (0:00:00.783)       0:00:02.343 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:10:32 +0000 (0:00:03.185)       0:00:05.529 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 06 March 2026  02:10:32 +0000 (0:00:00.048)       0:00:05.577 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:10:32 +0000 (0:00:00.422)       0:00:05.999 **********\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] *******************\nFriday 06 March 2026  02:10:32 +0000 (0:00:00.040)       0:00:06.040 **********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:10:34 +0000 (0:00:01.816)       0:00:07.856 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nFriday 06 March 2026  02:10:34 +0000 (0:00:00.036)       0:00:07.893 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 06 March 2026  02:10:35 +0000 (0:00:01.017)       0:00:08.910 **********\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] ***************\nFriday 06 March 2026  02:10:35 +0000 (0:00:00.045)       0:00:08.956 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nFriday 06 March 2026  02:10:36 +0000 (0:00:00.658)       0:00:09.614 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nFriday 06 March 2026  02:10:36 +0000 (0:00:00.329)       0:00:09.943 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nFriday 06 March 2026  02:10:37 +0000 (0:00:00.759)       0:00:10.702 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nFriday 06 March 2026  02:10:38 +0000 (0:00:00.766)       0:00:11.469 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nFriday 06 March 2026  02:10:41 +0000 (0:00:03.007)       0:00:14.477 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nFriday 06 March 2026  02:10:41 +0000 (0:00:00.303)       0:00:14.780 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nFriday 06 March 2026  02:10:43 +0000 (0:00:02.307)       0:00:17.088 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nFriday 06 March 2026  02:10:44 +0000 (0:00:00.993)       0:00:18.081 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nFriday 06 March 2026  02:10:44 +0000 (0:00:00.039)       0:00:18.121 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nFriday 06 March 2026  02:10:44 +0000 (0:00:00.058)       0:00:18.179 **********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nFriday 06 March 2026  02:11:08 +0000 (0:00:23.649)       0:00:41.828 **********\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] ***\nFriday 06 March 2026  02:11:52 +0000 (0:00:43.871)       0:01:25.700 **********\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] ****\nFriday 06 March 2026  02:11:52 +0000 (0:00:00.080)       0:01:25.781 **********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=21   changed=10   unreachable=0    failed=0    skipped=4    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 06 March 2026  02:11:58 +0000 (0:00:06.193)       0:01:31.974 **********\n===============================================================================\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 43.87s\nvexxhost.kubernetes.cluster_api : Run upgrade if required -------------- 23.65s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.19s\nvexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.19s\nvexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 3.01s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.31s\nvexxhost.containers.download_artifact : Download item ------------------- 1.82s\nGathering Facts --------------------------------------------------------- 1.46s\nvexxhost.kubernetes.clusterctl : Create a configuration file ------------ 1.02s\nvexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 0.99s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.78s\nvexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.77s\nvexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.76s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.66s\nvexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.42s\nvexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.33s\nvexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.30s\nvexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.08s\nvexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.08s\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] *********************************************************\nFriday 06 March 2026  02:11:59 +0000 (0:00:00.017)       0:00:00.017 **********\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] ***\nFriday 06 March 2026  02:12:01 +0000 (0:00:01.508)       0:00:01.526 **********\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] ***************\nFriday 06 March 2026  02:12:01 +0000 (0:00:00.080)       0:00:01.607 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nFriday 06 March 2026  02:12:02 +0000 (0:00:00.736)       0:00:02.343 **********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 06 March 2026  02:12:05 +0000 (0:00:03.266)       0:00:05.610 **********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 06 March 2026  02:12:05 +0000 (0:00:00.051)       0:00:05.662 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 06 March 2026  02:12:05 +0000 (0:00:00.456)       0:00:06.118 **********\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] *******************\nFriday 06 March 2026  02:12:05 +0000 (0:00:00.048)       0:00:06.167 **********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 06 March 2026  02:12:06 +0000 (0:00:00.610)       0:00:06.778 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************\nFriday 06 March 2026  02:12:06 +0000 (0:00:00.040)       0:00:06.819 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 06 March 2026  02:12:07 +0000 (0:00:00.813)       0:00:07.632 **********\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] ***************\nFriday 06 March 2026  02:12:07 +0000 (0:00:00.048)       0:00:07.680 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***\nFriday 06 March 2026  02:12:08 +0000 (0:00:00.650)       0:00:08.331 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***\nFriday 06 March 2026  02:12:08 +0000 (0:00:00.341)       0:00:08.673 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***\nFriday 06 March 2026  02:12:09 +0000 (0:00:00.698)       0:00:09.371 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***\nFriday 06 March 2026  02:12:09 +0000 (0:00:00.799)       0:00:10.170 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***\nFriday 06 March 2026  02:12:12 +0000 (0:00:02.587)       0:00:12.757 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***\nFriday 06 March 2026  02:12:12 +0000 (0:00:00.333)       0:00:13.091 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***\nFriday 06 March 2026  02:12:15 +0000 (0:00:02.329)       0:00:15.421 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****\nFriday 06 March 2026  02:12:16 +0000 (0:00:01.093)       0:00:16.514 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***\nFriday 06 March 2026  02:12:16 +0000 (0:00:00.047)       0:00:16.561 **********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************\nFriday 06 March 2026  02:12:16 +0000 (0:00:00.062)       0:00:16.624 **********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***\nFriday 06 March 2026  02:12:16 +0000 (0:00:00.048)       0:00:16.673 **********\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] ***\nFriday 06 March 2026  02:12:19 +0000 (0:00:03.473)       0:00:20.146 **********\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] ****\nFriday 06 March 2026  02:12:19 +0000 (0:00:00.080)       0:00:20.226 **********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=20   changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 06 March 2026  02:12:21 +0000 (0:00:01.262)       0:00:21.488 **********\n===============================================================================\nvexxhost.kubernetes.cluster_api : Set node selector for Cluster API components --- 3.47s\nvexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.27s\nvexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.59s\nvexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.33s\nGathering Facts --------------------------------------------------------- 1.51s\nvexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 1.26s\nvexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 1.09s\nvexxhost.kubernetes.clusterctl : Create a configuration file ------------ 0.81s\nvexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.80s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.74s\nvexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.70s\nvexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.65s\nvexxhost.containers.download_artifact : Download item ------------------- 0.61s\nvexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.46s\nvexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.34s\nvexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.33s\nvexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.08s\nvexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.08s\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] *********************************************************\nFriday 06 March 2026  02:12:22 +0000 (0:00:00.010)       0:00:00.010 **********\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] ***********************************************\nFriday 06 March 2026  02:12:23 +0000 (0:00:01.605)       0:00:01.615 **********\nok: [controller] => (item=clusterctl)\nok: [controller] => (item=cluster_api)\n\nTASK [Ensure the \"clusterctl\" binary is installed] *****************************\nFriday 06 March 2026  02:12:23 +0000 (0:00:00.054)       0:00:01.669 **********\nchanged: [controller]\n\nTASK [Assert that the \"clusterctl\" binary is installed and version matches] ****\nFriday 06 March 2026  02:12:24 +0000 (0:00:00.470)       0:00:02.139 **********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Ensure that the Cluster API components are ready] ************************\nFriday 06 March 2026  02:12:24 +0000 (0:00:00.075)       0:00:02.215 **********\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] **********************************\nFriday 06 March 2026  02:12:28 +0000 (0:00:03.774)       0:00:05.989 **********\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] *********************************\nFriday 06 March 2026  02:12:33 +0000 (0:00:04.973)       0:00:10.963 **********\nok: [controller]\n\nTASK [Parse provider resources into version mapping] ***************************\nFriday 06 March 2026  02:12:34 +0000 (0:00:00.869)       0:00:11.832 **********\nok: [controller]\n\nTASK [Assert that the versions are the correct ones] ***************************\nFriday 06 March 2026  02:12:34 +0000 (0:00:00.055)       0:00:11.887 **********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Create a test kcptemplate] ***********************************************\nFriday 06 March 2026  02:12:34 +0000 (0:00:00.044)       0:00:11.932 **********\nchanged: [controller]\n\nTASK [Reapply the test kcptemplate] ********************************************\nFriday 06 March 2026  02:12:35 +0000 (0:00:01.151)       0:00:13.084 **********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=11   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 06 March 2026  02:12:36 +0000 (0:00:00.860)       0:00:13.945 **********\n===============================================================================\nEnsure that the Cluster API CRDs exist ---------------------------------- 4.97s\nEnsure that the Cluster API components are ready ------------------------ 3.77s\nGathering Facts --------------------------------------------------------- 1.61s\nCreate a test kcptemplate ----------------------------------------------- 1.15s\nGet a list of all Cluster API providers --------------------------------- 0.87s\nReapply the test kcptemplate -------------------------------------------- 0.86s\nEnsure the \"clusterctl\" binary is installed ----------------------------- 0.47s\nAssert that the \"clusterctl\" binary is installed and version matches ---- 0.08s\nParse provider resources into version mapping --------------------------- 0.06s\nInclude default variables ----------------------------------------------- 0.05s\nAssert that the versions are the correct ones --------------------------- 0.05s\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 pygments",
                                " Downloading cryptography",
                                " Downloading ansible-core",
                                "Installed 36 packages in 52ms",
                                "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] *********************************************************",
                                "Friday 06 March 2026  02:05:48 +0000 (0:00:00.029)       0:00:00.029 **********",
                                "[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] *************************************************",
                                "Friday 06 March 2026  02:05:49 +0000 (0:00:01.290)       0:00:01.319 **********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 06 March 2026  02:05:57 +0000 (0:00:08.128)       0:00:09.448 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Friday 06 March 2026  02:05:58 +0000 (0:00:00.835)       0:00:10.283 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Friday 06 March 2026  02:05:59 +0000 (0:00:00.429)       0:00:10.712 **********",
                                "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] ****",
                                "Friday 06 March 2026  02:06:00 +0000 (0:00:01.462)       0:00:12.174 **********",
                                "[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] *********",
                                "Friday 06 March 2026  02:06:01 +0000 (0:00:00.945)       0:00:13.120 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Friday 06 March 2026  02:06:01 +0000 (0:00:00.422)       0:00:13.542 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Friday 06 March 2026  02:06:02 +0000 (0:00:00.295)       0:00:13.837 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Friday 06 March 2026  02:06:02 +0000 (0:00:00.034)       0:00:13.872 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Friday 06 March 2026  02:06:02 +0000 (0:00:00.050)       0:00:13.922 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Friday 06 March 2026  02:06:03 +0000 (0:00:00.977)       0:00:14.899 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Friday 06 March 2026  02:06:03 +0000 (0:00:00.318)       0:00:15.218 **********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 06 March 2026  02:06:03 +0000 (0:00:00.063)       0:00:15.281 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:04 +0000 (0:00:00.831)       0:00:16.113 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:06:04 +0000 (0:00:00.443)       0:00:16.556 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 06 March 2026  02:06:05 +0000 (0:00:00.042)       0:00:16.598 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:05 +0000 (0:00:00.322)       0:00:16.921 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 06 March 2026  02:06:05 +0000 (0:00:00.097)       0:00:17.018 **********",
                                "[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] *****************",
                                "Friday 06 March 2026  02:06:06 +0000 (0:00:00.856)       0:00:17.874 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:06 +0000 (0:00:00.044)       0:00:17.919 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:06:06 +0000 (0:00:00.303)       0:00:18.223 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:07 +0000 (0:00:00.961)       0:00:19.185 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:06:07 +0000 (0:00:00.081)       0:00:19.266 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:08 +0000 (0:00:00.921)       0:00:20.188 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 06 March 2026  02:06:12 +0000 (0:00:03.496)       0:00:23.685 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 06 March 2026  02:06:12 +0000 (0:00:00.037)       0:00:23.722 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 06 March 2026  02:06:12 +0000 (0:00:00.031)       0:00:23.754 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 06 March 2026  02:06:12 +0000 (0:00:00.037)       0:00:23.791 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 06 March 2026  02:06:21 +0000 (0:00:08.939)       0:00:32.731 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 06 March 2026  02:06:21 +0000 (0:00:00.708)       0:00:33.440 **********",
                                "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] **********",
                                "Friday 06 March 2026  02:06:23 +0000 (0:00:01.449)       0:00:34.889 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 06 March 2026  02:06:24 +0000 (0:00:00.808)       0:00:35.697 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Friday 06 March 2026  02:06:24 +0000 (0:00:00.008)       0:00:35.706 **********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 06 March 2026  02:06:25 +0000 (0:00:01.110)       0:00:36.816 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 06 March 2026  02:06:27 +0000 (0:00:01.846)       0:00:38.663 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Friday 06 March 2026  02:06:27 +0000 (0:00:00.776)       0:00:39.440 **********",
                                "[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000158019'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 np0000158019'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] ***",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.686)       0:00:40.126 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.045)       0:00:40.171 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.042)       0:00:40.214 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.044)       0:00:40.259 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.040)       0:00:40.299 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:28 +0000 (0:00:00.044)       0:00:40.344 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:29 +0000 (0:00:00.303)       0:00:40.647 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 06 March 2026  02:06:29 +0000 (0:00:00.046)       0:00:40.694 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:30 +0000 (0:00:01.611)       0:00:42.306 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:30 +0000 (0:00:00.044)       0:00:42.350 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:31 +0000 (0:00:00.317)       0:00:42.668 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 06 March 2026  02:06:31 +0000 (0:00:00.051)       0:00:42.719 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:33 +0000 (0:00:01.945)       0:00:44.665 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 06 March 2026  02:06:33 +0000 (0:00:00.048)       0:00:44.713 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 06 March 2026  02:06:33 +0000 (0:00:00.034)       0:00:44.748 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 06 March 2026  02:06:33 +0000 (0:00:00.039)       0:00:44.787 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 06 March 2026  02:06:33 +0000 (0:00:00.039)       0:00:44.827 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 06 March 2026  02:06:34 +0000 (0:00:00.888)       0:00:45.715 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 06 March 2026  02:06:34 +0000 (0:00:00.661)       0:00:46.377 **********",
                                "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] **********",
                                "Friday 06 March 2026  02:06:36 +0000 (0:00:01.419)       0:00:47.796 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 06 March 2026  02:06:36 +0000 (0:00:00.749)       0:00:48.546 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 06 March 2026  02:06:36 +0000 (0:00:00.005)       0:00:48.551 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:37 +0000 (0:00:00.485)       0:00:49.037 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:37 +0000 (0:00:00.328)       0:00:49.365 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:06:37 +0000 (0:00:00.070)       0:00:49.436 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:38 +0000 (0:00:00.857)       0:00:50.294 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:40 +0000 (0:00:01.670)       0:00:51.965 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:06:40 +0000 (0:00:00.069)       0:00:52.035 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:41 +0000 (0:00:00.785)       0:00:52.820 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Friday 06 March 2026  02:06:42 +0000 (0:00:01.700)       0:00:54.521 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Friday 06 March 2026  02:06:43 +0000 (0:00:00.717)       0:00:55.239 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:06:43 +0000 (0:00:00.325)       0:00:55.564 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:44 +0000 (0:00:00.321)       0:00:55.886 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:06:44 +0000 (0:00:00.070)       0:00:55.956 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:45 +0000 (0:00:00.966)       0:00:56.922 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Friday 06 March 2026  02:06:48 +0000 (0:00:03.004)       0:00:59.927 **********",
                                "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] ***********",
                                "Friday 06 March 2026  02:06:48 +0000 (0:00:00.059)       0:00:59.986 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Friday 06 March 2026  02:06:49 +0000 (0:00:00.845)       0:01:00.831 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Friday 06 March 2026  02:06:49 +0000 (0:00:00.495)       0:01:01.327 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Friday 06 March 2026  02:06:50 +0000 (0:00:00.675)       0:01:02.002 **********",
                                "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] *********************",
                                "Friday 06 March 2026  02:06:51 +0000 (0:00:01.463)       0:01:03.466 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:06:52 +0000 (0:00:00.318)       0:01:03.785 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.34.0/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 06 March 2026  02:06:52 +0000 (0:00:00.045)       0:01:03.830 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:06:54 +0000 (0:00:01.824)       0:01:05.655 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Friday 06 March 2026  02:06:54 +0000 (0:00:00.035)       0:01:05.690 **********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Friday 06 March 2026  02:06:54 +0000 (0:00:00.058)       0:01:05.749 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Friday 06 March 2026  02:06:54 +0000 (0:00:00.037)       0:01:05.787 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Friday 06 March 2026  02:06:56 +0000 (0:00:02.768)       0:01:08.555 **********",
                                "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] ***",
                                "Friday 06 March 2026  02:06:59 +0000 (0:00:02.273)       0:01:10.829 **********",
                                "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] ********",
                                "Friday 06 March 2026  02:07:00 +0000 (0:00:00.909)       0:01:11.738 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Friday 06 March 2026  02:07:00 +0000 (0:00:00.695)       0:01:12.433 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Friday 06 March 2026  02:07:01 +0000 (0:00:00.682)       0:01:13.115 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Friday 06 March 2026  02:07:01 +0000 (0:00:00.430)       0:01:13.546 **********",
                                "[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] ***********",
                                "Friday 06 March 2026  02:07:01 +0000 (0:00:00.041)       0:01:13.588 **********",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Friday 06 March 2026  02:07:02 +0000 (0:00:00.790)       0:01:14.379 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Friday 06 March 2026  02:07:03 +0000 (0:00:00.700)       0:01:15.079 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Friday 06 March 2026  02:07:04 +0000 (0:00:00.771)       0:01:15.851 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 06 March 2026  02:07:04 +0000 (0:00:00.008)       0:01:15.860 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Friday 06 March 2026  02:07:05 +0000 (0:00:01.476)       0:01:17.336 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Friday 06 March 2026  02:07:07 +0000 (0:00:01.819)       0:01:19.156 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Friday 06 March 2026  02:07:08 +0000 (0:00:00.937)       0:01:20.094 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Friday 06 March 2026  02:07:09 +0000 (0:00:00.843)       0:01:20.937 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Friday 06 March 2026  02:07:09 +0000 (0:00:00.417)       0:01:21.354 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.568)       0:01:21.923 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.084)       0:01:22.007 **********",
                                "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] ***",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.080)       0:01:22.088 **********",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.319)       0:01:22.407 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.035)       0:01:22.443 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.051)       0:01:22.494 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Friday 06 March 2026  02:07:10 +0000 (0:00:00.041)       0:01:22.536 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.711)       0:01:23.248 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.037)       0:01:23.285 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.039)       0:01:23.324 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.034)       0:01:23.359 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.036)       0:01:23.395 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.038)       0:01:23.434 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.037)       0:01:23.471 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Friday 06 March 2026  02:07:11 +0000 (0:00:00.038)       0:01:23.509 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Friday 06 March 2026  02:07:54 +0000 (0:00:42.647)       0:02:06.157 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Friday 06 March 2026  02:07:54 +0000 (0:00:00.310)       0:02:06.467 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Friday 06 March 2026  02:07:54 +0000 (0:00:00.034)       0:02:06.502 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.346)       0:02:06.848 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.307)       0:02:07.156 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.299)       0:02:07.455 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.040)       0:02:07.496 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.041)       0:02:07.538 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Friday 06 March 2026  02:07:55 +0000 (0:00:00.044)       0:02:07.582 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Friday 06 March 2026  02:08:17 +0000 (0:00:21.367)       0:02:28.950 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:01.000)       0:02:29.950 **********",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:00.041)       0:02:29.992 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:00.032)       0:02:30.024 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.061 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.098 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Friday 06 March 2026  02:08:18 +0000 (0:00:00.036)       0:02:30.134 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Friday 06 March 2026  02:08:19 +0000 (0:00:00.563)       0:02:30.698 **********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 06 March 2026  02:08:20 +0000 (0:00:01.133)       0:02:31.832 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 06 March 2026  02:08:21 +0000 (0:00:00.867)       0:02:32.700 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:08:21 +0000 (0:00:00.337)       0:02:33.038 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 06 March 2026  02:08:22 +0000 (0:00:01.064)       0:02:34.102 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:08:22 +0000 (0:00:00.346)       0:02:34.448 **********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 06 March 2026  02:08:22 +0000 (0:00:00.041)       0:02:34.490 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:08:23 +0000 (0:00:00.684)       0:02:35.174 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Friday 06 March 2026  02:08:25 +0000 (0:00:01.851)       0:02:37.026 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Friday 06 March 2026  02:08:25 +0000 (0:00:00.392)       0:02:37.419 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Friday 06 March 2026  02:08:26 +0000 (0:00:00.297)       0:02:37.717 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Friday 06 March 2026  02:08:26 +0000 (0:00:00.384)       0:02:38.101 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Friday 06 March 2026  02:08:26 +0000 (0:00:00.304)       0:02:38.406 **********",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Friday 06 March 2026  02:08:27 +0000 (0:00:00.318)       0:02:38.724 **********",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:08:27 +0000 (0:00:00.063)       0:02:38.788 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:08:27 +0000 (0:00:00.051)       0:02:38.839 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:08:28 +0000 (0:00:00.824)       0:02:39.664 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 06 March 2026  02:08:30 +0000 (0:00:02.164)       0:02:41.829 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:08:30 +0000 (0:00:00.099)       0:02:41.928 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Friday 06 March 2026  02:08:31 +0000 (0:00:00.810)       0:02:42.739 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Friday 06 March 2026  02:08:32 +0000 (0:00:01.008)       0:02:43.747 **********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install older version of Cluster API] ************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 06 March 2026  02:08:34 +0000 (0:00:02.273)       0:02:46.021 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 06 March 2026  02:08:35 +0000 (0:00:00.881)       0:02:46.903 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:08:35 +0000 (0:00:00.045)       0:02:46.948 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Friday 06 March 2026  02:08:36 +0000 (0:00:00.706)       0:02:47.654 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:09:27 +0000 (0:00:51.114)       0:03:38.769 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 06 March 2026  02:09:27 +0000 (0:00:00.041)       0:03:38.811 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:09:27 +0000 (0:00:00.320)       0:03:39.132 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:09:27 +0000 (0:00:00.047)       0:03:39.179 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:09:29 +0000 (0:00:02.101)       0:03:41.281 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Friday 06 March 2026  02:09:29 +0000 (0:00:00.036)       0:03:41.317 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.734)       0:03:42.052 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.041)       0:03:42.093 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.042)       0:03:42.136 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.035)       0:03:42.171 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.043)       0:03:42.215 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.041)       0:03:42.257 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Friday 06 March 2026  02:09:30 +0000 (0:00:00.332)       0:03:42.590 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Friday 06 March 2026  02:09:33 +0000 (0:00:02.202)       0:03:44.792 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Friday 06 March 2026  02:09:34 +0000 (0:00:00.844)       0:03:45.636 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Friday 06 March 2026  02:09:40 +0000 (0:00:06.638)       0:03:52.275 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Friday 06 March 2026  02:09:40 +0000 (0:00:00.033)       0:03:52.308 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Friday 06 March 2026  02:09:40 +0000 (0:00:00.031)       0:03:52.340 **********",
                                "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] ***",
                                "Friday 06 March 2026  02:10:19 +0000 (0:00:38.652)       0:04:30.993 **********",
                                "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] ****",
                                "Friday 06 March 2026  02:10:19 +0000 (0:00:00.071)       0:04:31.064 **********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=128  changed=60   unreachable=0    failed=0    skipped=44   rescued=0    ignored=3",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 06 March 2026  02:10:25 +0000 (0:00:06.145)       0:04:37.210 **********",
                                "===============================================================================",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 51.11s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 42.65s",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 38.65s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems -- 21.37s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 8.94s",
                                "Install Debian packages ------------------------------------------------- 8.13s",
                                "vexxhost.kubernetes.cluster_api : Initialize the management cluster ----- 6.64s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.15s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.50s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 3.32s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.00s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 2.77s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.27s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.27s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.20s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.16s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.10s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.95s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.85s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.82s",
                                "INFO     [cluster-api > prepare] Executed: Successful",
                                "INFO     [cluster-api > converge] Executing",
                                "",
                                "PLAY [Converge] ****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 06 March 2026  02:10:26 +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] ***",
                                "Friday 06 March 2026  02:10:28 +0000 (0:00:01.463)       0:00:01.481 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:10:28 +0000 (0:00:00.078)       0:00:01.560 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Friday 06 March 2026  02:10:29 +0000 (0:00:00.783)       0:00:02.343 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:10:32 +0000 (0:00:03.185)       0:00:05.529 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 06 March 2026  02:10:32 +0000 (0:00:00.048)       0:00:05.577 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:10:32 +0000 (0:00:00.422)       0:00:05.999 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:10:32 +0000 (0:00:00.040)       0:00:06.040 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:10:34 +0000 (0:00:01.816)       0:00:07.856 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Friday 06 March 2026  02:10:34 +0000 (0:00:00.036)       0:00:07.893 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 06 March 2026  02:10:35 +0000 (0:00:01.017)       0:00:08.910 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:10:35 +0000 (0:00:00.045)       0:00:08.956 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Friday 06 March 2026  02:10:36 +0000 (0:00:00.658)       0:00:09.614 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Friday 06 March 2026  02:10:36 +0000 (0:00:00.329)       0:00:09.943 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Friday 06 March 2026  02:10:37 +0000 (0:00:00.759)       0:00:10.702 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Friday 06 March 2026  02:10:38 +0000 (0:00:00.766)       0:00:11.469 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Friday 06 March 2026  02:10:41 +0000 (0:00:03.007)       0:00:14.477 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Friday 06 March 2026  02:10:41 +0000 (0:00:00.303)       0:00:14.780 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Friday 06 March 2026  02:10:43 +0000 (0:00:02.307)       0:00:17.088 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Friday 06 March 2026  02:10:44 +0000 (0:00:00.993)       0:00:18.081 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Friday 06 March 2026  02:10:44 +0000 (0:00:00.039)       0:00:18.121 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Friday 06 March 2026  02:10:44 +0000 (0:00:00.058)       0:00:18.179 **********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Friday 06 March 2026  02:11:08 +0000 (0:00:23.649)       0:00:41.828 **********",
                                "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] ***",
                                "Friday 06 March 2026  02:11:52 +0000 (0:00:43.871)       0:01:25.700 **********",
                                "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] ****",
                                "Friday 06 March 2026  02:11:52 +0000 (0:00:00.080)       0:01:25.781 **********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=21   changed=10   unreachable=0    failed=0    skipped=4    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 06 March 2026  02:11:58 +0000 (0:00:06.193)       0:01:31.974 **********",
                                "===============================================================================",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components -- 43.87s",
                                "vexxhost.kubernetes.cluster_api : Run upgrade if required -------------- 23.65s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 6.19s",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.19s",
                                "vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 3.01s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.31s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.82s",
                                "Gathering Facts --------------------------------------------------------- 1.46s",
                                "vexxhost.kubernetes.clusterctl : Create a configuration file ------------ 1.02s",
                                "vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 0.99s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.78s",
                                "vexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.77s",
                                "vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.76s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.66s",
                                "vexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.42s",
                                "vexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.33s",
                                "vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.30s",
                                "vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.08s",
                                "vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.08s",
                                "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] *********************************************************",
                                "Friday 06 March 2026  02:11:59 +0000 (0:00:00.017)       0:00:00.017 **********",
                                "[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] ***",
                                "Friday 06 March 2026  02:12:01 +0000 (0:00:01.508)       0:00:01.526 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:12:01 +0000 (0:00:00.080)       0:00:01.607 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Friday 06 March 2026  02:12:02 +0000 (0:00:00.736)       0:00:02.343 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 06 March 2026  02:12:05 +0000 (0:00:03.266)       0:00:05.610 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 06 March 2026  02:12:05 +0000 (0:00:00.051)       0:00:05.662 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 06 March 2026  02:12:05 +0000 (0:00:00.456)       0:00:06.118 **********",
                                "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] *******************",
                                "Friday 06 March 2026  02:12:05 +0000 (0:00:00.048)       0:00:06.167 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 06 March 2026  02:12:06 +0000 (0:00:00.610)       0:00:06.778 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.clusterctl : Create a configuration file] ************",
                                "Friday 06 March 2026  02:12:06 +0000 (0:00:00.040)       0:00:06.819 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 06 March 2026  02:12:07 +0000 (0:00:00.813)       0:00:07.632 **********",
                                "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] ***************",
                                "Friday 06 March 2026  02:12:07 +0000 (0:00:00.048)       0:00:07.680 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Create build directory] ***",
                                "Friday 06 March 2026  02:12:08 +0000 (0:00:00.650)       0:00:08.331 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization] ***",
                                "Friday 06 March 2026  02:12:08 +0000 (0:00:00.341)       0:00:08.673 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Generate manifests] ***",
                                "Friday 06 March 2026  02:12:09 +0000 (0:00:00.698)       0:00:09.371 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster] ***",
                                "Friday 06 March 2026  02:12:09 +0000 (0:00:00.799)       0:00:10.170 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers] ***",
                                "Friday 06 March 2026  02:12:12 +0000 (0:00:02.587)       0:00:12.757 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system] ***",
                                "Friday 06 March 2026  02:12:12 +0000 (0:00:00.333)       0:00:13.091 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers] ***",
                                "Friday 06 March 2026  02:12:15 +0000 (0:00:02.329)       0:00:15.421 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Initialize the management cluster] *****",
                                "Friday 06 March 2026  02:12:16 +0000 (0:00:01.093)       0:00:16.514 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Parse provider resources into version mapping] ***",
                                "Friday 06 March 2026  02:12:16 +0000 (0:00:00.047)       0:00:16.561 **********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Run upgrade if required] ***************",
                                "Friday 06 March 2026  02:12:16 +0000 (0:00:00.062)       0:00:16.624 **********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components] ***",
                                "Friday 06 March 2026  02:12:16 +0000 (0:00:00.048)       0:00:16.673 **********",
                                "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] ***",
                                "Friday 06 March 2026  02:12:19 +0000 (0:00:03.473)       0:00:20.146 **********",
                                "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] ****",
                                "Friday 06 March 2026  02:12:19 +0000 (0:00:00.080)       0:00:20.226 **********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=20   changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 06 March 2026  02:12:21 +0000 (0:00:01.262)       0:00:21.488 **********",
                                "===============================================================================",
                                "vexxhost.kubernetes.cluster_api : Set node selector for Cluster API components --- 3.47s",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart -------------------- 3.27s",
                                "vexxhost.kubernetes.openstack_resource_controller : Apply manifest to cluster --- 2.59s",
                                "vexxhost.kubernetes.cluster_api : Copy over all provider configuration to the remote system --- 2.33s",
                                "Gathering Facts --------------------------------------------------------- 1.51s",
                                "vexxhost.kubernetes.cluster_api : Set CAPO instance creation timeout ---- 1.26s",
                                "vexxhost.kubernetes.cluster_api : Get a list of all Cluster API providers --- 1.09s",
                                "vexxhost.kubernetes.clusterctl : Create a configuration file ------------ 0.81s",
                                "vexxhost.kubernetes.openstack_resource_controller : Generate manifests --- 0.80s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.74s",
                                "vexxhost.kubernetes.openstack_resource_controller : Upload Kustomization --- 0.70s",
                                "vexxhost.kubernetes.upload_helm_chart : Upload Helm chart --------------- 0.65s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 0.61s",
                                "vexxhost.containers.directory : Create directory (/var/lib/downloads) --- 0.46s",
                                "vexxhost.kubernetes.openstack_resource_controller : Create build directory --- 0.34s",
                                "vexxhost.kubernetes.cluster_api : Create a folder for the Cluster API providers --- 0.33s",
                                "vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks --- 0.08s",
                                "vexxhost.kubernetes.cluster_api : Set default values for imagePullPolicy in kubeadmConfigSpec of CRDs --- 0.08s",
                                "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] *********************************************************",
                                "Friday 06 March 2026  02:12:22 +0000 (0:00:00.010)       0:00:00.010 **********",
                                "[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] ***********************************************",
                                "Friday 06 March 2026  02:12:23 +0000 (0:00:01.605)       0:00:01.615 **********",
                                "ok: [controller] => (item=clusterctl)",
                                "ok: [controller] => (item=cluster_api)",
                                "",
                                "TASK [Ensure the \"clusterctl\" binary is installed] *****************************",
                                "Friday 06 March 2026  02:12:23 +0000 (0:00:00.054)       0:00:01.669 **********",
                                "changed: [controller]",
                                "",
                                "TASK [Assert that the \"clusterctl\" binary is installed and version matches] ****",
                                "Friday 06 March 2026  02:12:24 +0000 (0:00:00.470)       0:00:02.139 **********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Ensure that the Cluster API components are ready] ************************",
                                "Friday 06 March 2026  02:12:24 +0000 (0:00:00.075)       0:00:02.215 **********",
                                "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] **********************************",
                                "Friday 06 March 2026  02:12:28 +0000 (0:00:03.774)       0:00:05.989 **********",
                                "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] *********************************",
                                "Friday 06 March 2026  02:12:33 +0000 (0:00:04.973)       0:00:10.963 **********",
                                "ok: [controller]",
                                "",
                                "TASK [Parse provider resources into version mapping] ***************************",
                                "Friday 06 March 2026  02:12:34 +0000 (0:00:00.869)       0:00:11.832 **********",
                                "ok: [controller]",
                                "",
                                "TASK [Assert that the versions are the correct ones] ***************************",
                                "Friday 06 March 2026  02:12:34 +0000 (0:00:00.055)       0:00:11.887 **********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Create a test kcptemplate] ***********************************************",
                                "Friday 06 March 2026  02:12:34 +0000 (0:00:00.044)       0:00:11.932 **********",
                                "changed: [controller]",
                                "",
                                "TASK [Reapply the test kcptemplate] ********************************************",
                                "Friday 06 March 2026  02:12:35 +0000 (0:00:01.151)       0:00:13.084 **********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=11   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 06 March 2026  02:12:36 +0000 (0:00:00.860)       0:00:13.945 **********",
                                "===============================================================================",
                                "Ensure that the Cluster API CRDs exist ---------------------------------- 4.97s",
                                "Ensure that the Cluster API components are ready ------------------------ 3.77s",
                                "Gathering Facts --------------------------------------------------------- 1.61s",
                                "Create a test kcptemplate ----------------------------------------------- 1.15s",
                                "Get a list of all Cluster API providers --------------------------------- 0.87s",
                                "Reapply the test kcptemplate -------------------------------------------- 0.86s",
                                "Ensure the \"clusterctl\" binary is installed ----------------------------- 0.47s",
                                "Assert that the \"clusterctl\" binary is installed and version matches ---- 0.08s",
                                "Parse provider resources into version mapping --------------------------- 0.06s",
                                "Include default variables ----------------------------------------------- 0.05s",
                                "Assert that the versions are the correct ones --------------------------- 0.05s",
                                "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-8315-3053-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:36.579292Z",
                            "start": "2026-03-06T02:03:14.359316Z"
                        },
                        "id": "0242ac17-0011-8315-3053-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-06T02:12:40.414867Z",
                    "start": "2026-03-06T02:12:37.227146Z"
                },
                "id": "0242ac17-0011-660e-f6e1-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-660e-f6e1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:37.273084Z",
                            "start": "2026-03-06T02:12:37.237244Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-660e-f6e1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:37.323677Z",
                            "start": "2026-03-06T02:12:37.281284Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-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/1fe8c7420646459e897bda69c56e493b/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-660e-f6e1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:38.146365Z",
                            "start": "2026-03-06T02:12:37.328576Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-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.4:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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.4:/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/1fe8c7420646459e897bda69c56e493b/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.4:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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.4:/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/1fe8c7420646459e897bda69c56e493b/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.4:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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.4:/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/1fe8c7420646459e897bda69c56e493b/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-660e-f6e1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:39.763379Z",
                            "start": "2026-03-06T02:12:38.154633Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/artifacts/* /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.006737",
                                    "end": "2026-03-06 02:12:40.159464",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/artifacts/* /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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-06 02:12:40.152727",
                                    "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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/docs/* /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006206",
                                    "end": "2026-03-06 02:12:40.372604",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/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/1fe8c7420646459e897bda69c56e493b/work/docs/* /var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/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-06 02:12:40.366398",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-660e-f6e1-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:40.414867Z",
                            "start": "2026-03-06T02:12:39.775623Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-06T02:12:40.931796Z",
                    "start": "2026-03-06T02:12:40.424139Z"
                },
                "id": "0242ac17-0011-660e-f6e1-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDhTWtfsobYHtwp1y9ArRs7rma4v0pkIfZ29XjjI6A4p8Dto4RUqdL1MWRSC/xOARs+3mCg7lm8ctkKLmgrkpiNuvTso9aeJ5BAS1Jr8FjS7Zb1Kgthw0FnPkICA/SqfUeD+9Og4yoYtqgjCEBVPjiTKA69Kp6IVxq85mk+AY6UiDx+IDKcpiEAEVPJSADl35GfLwviXefazlbiz5MHACnT56oo3NX8M0v650kaj6TW8LvcIbw5Dch5BKAU+wAtqmtul6LvEPbQ34MdvaKJxy1iHmh1Y77fXrBnLgDULp7i9fyei+MuTynpw5gek4BxMctEQzvffzoD9LF/Re4J+NRSg0vyzz2SWcQwwl5jpke3qobInNdGtA4gsGBv7DtnMsJvF3iTFFjjmlpnNxs48Yb9kaPSLg/d9ysP2Mlx3Ns1lD9ga/1JFrcLnmibOwJxC6vlQxqJN4j5PPvEJ2psJBSXf53huOZBO8aswSv88eqnGiRHWbPBxwL/RTYIj6pen/8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDhTWtfsobYHtwp1y9ArRs7rma4v0pkIfZ29XjjI6A4p8Dto4RUqdL1MWRSC/xOARs+3mCg7lm8ctkKLmgrkpiNuvTso9aeJ5BAS1Jr8FjS7Zb1Kgthw0FnPkICA/SqfUeD+9Og4yoYtqgjCEBVPjiTKA69Kp6IVxq85mk+AY6UiDx+IDKcpiEAEVPJSADl35GfLwviXefazlbiz5MHACnT56oo3NX8M0v650kaj6TW8LvcIbw5Dch5BKAU+wAtqmtul6LvEPbQ34MdvaKJxy1iHmh1Y77fXrBnLgDULp7i9fyei+MuTynpw5gek4BxMctEQzvffzoD9LF/Re4J+NRSg0vyzz2SWcQwwl5jpke3qobInNdGtA4gsGBv7DtnMsJvF3iTFFjjmlpnNxs48Yb9kaPSLg/d9ysP2Mlx3Ns1lD9ga/1JFrcLnmibOwJxC6vlQxqJN4j5PPvEJ2psJBSXf53huOZBO8aswSv88eqnGiRHWbPBxwL/RTYIj6pen/8= 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-660e-f6e1-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/1fe8c7420646459e897bda69c56e493b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-06T02:12:40.931796Z",
                            "start": "2026-03-06T02:12:40.429058Z"
                        },
                        "id": "0242ac17-0011-660e-f6e1-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
}
]
