[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-27T14:16:14.255857Z",
                    "start": "2026-02-27T14:16:11.945197Z"
                },
                "id": "0242ac17-0011-b0a0-c8de-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-02-27",
                                    "day": "27",
                                    "epoch": "1772201772",
                                    "epoch_int": "1772201772",
                                    "hour": "14",
                                    "iso8601": "2026-02-27T14:16:12Z",
                                    "iso8601_basic": "20260227T141612493432",
                                    "iso8601_basic_short": "20260227T141612",
                                    "iso8601_micro": "2026-02-27T14:16:12.493432Z",
                                    "minute": "16",
                                    "month": "02",
                                    "second": "12",
                                    "time": "14:16:12",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "08",
                                    "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/fe9d04ac641345469b71088c667ffe71/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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": "1542051",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-AbwEBWEaNkyS/agent.1542050",
                                    "TMP": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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.626953125,
                                    "1m": 3.10107421875,
                                    "5m": 2.8720703125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4389,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17572,
                                        "used": 14518
                                    },
                                    "real": {
                                        "free": 4389,
                                        "total": 32090,
                                        "used": 27701
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8581608,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32019972,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35150266368,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581608,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32019972,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35150266368,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581584,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32019996,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35150168064,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581576,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020004,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35150135296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581556,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020024,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35150053376,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581528,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020052,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35149938688,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581518,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020062,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35149897728,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581512,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020068,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35149873152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581504,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020076,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35149840384,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 229000772,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 34939945,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 64984574,
                                        "inode_total": 67108864,
                                        "inode_used": 2124290,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 937987162112,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8581440,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32020140,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16559010,
                                        "inode_total": 20643840,
                                        "inode_used": 4084830,
                                        "mount": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35149578240,
                                        "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": 35865502,
                                "ansible_user_dir": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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-02-27T14:16:12.809343Z",
                            "start": "2026-02-27T14:16:11.953087Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:12.833921Z",
                            "start": "2026-02-27T14:16:12.813607Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "fe9/oss/fe9d04ac641345469b71088c667ffe71"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:12.878603Z",
                            "start": "2026-02-27T14:16:12.847615Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: atmosphere-common-molecule-secretgen-controller\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/102\nEvent ID: c8e25d00-13e6-11f1-9ada-e2823d2facb3\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:12.920087Z",
                            "start": "2026-02-27T14:16:12.886002Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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: np0000157307\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.212\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:13.033579Z",
                            "start": "2026-02-27T14:16:12.923967Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:13.429792Z",
                            "start": "2026-02-27T14:16:13.043176Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "b3be4a9a61313decf9445fcd105583e9f75f5b54",
                            "dest": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b3be4a9a61313decf9445fcd105583e9f75f5b54",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/.ansible/tmp/ansible-tmp-1772201773.4674375-84-73758649545637/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "b79256f823b9e702a51235cce5c492e0",
                            "mode": "0644",
                            "owner": "root",
                            "size": 285247,
                            "src": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/.ansible/tmp/ansible-tmp-1772201773.4674375-84-73758649545637/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:14.255857Z",
                            "start": "2026-02-27T14:16:13.438462Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-27T14:16:21.976201Z",
                    "start": "2026-02-27T14:16:14.265093Z"
                },
                "id": "0242ac17-0011-b0a0-c8de-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/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:14.573055Z",
                            "start": "2026-02-27T14:16:14.302071Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:14.620324Z",
                            "start": "2026-02-27T14:16:14.585377Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.117758",
                            "end": "2026-02-27 14:16:16.122352",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_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-b0a0-c8de-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-27 14:16:15.004594",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa.pub\nThe key fingerprint is:\nSHA256:hB1YTygLFd613yymdZTTuSrBMD/Q5WbCokVEfmQxcpc zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|     .o+=*o*.o.  |\n|    ..o++=B.=E o.|\n|     .oo+Bo= ++..|\n|      ..o O.++ ..|\n|       .S  == +. |\n|           +oo.  |\n|          .. .   |\n|            .    |\n|                 |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:hB1YTygLFd613yymdZTTuSrBMD/Q5WbCokVEfmQxcpc zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|     .o+=*o*.o.  |",
                                "|    ..o++=B.=E o.|",
                                "|     .oo+Bo= ++..|",
                                "|      ..o O.++ ..|",
                                "|       .S  == +. |",
                                "|           +oo.  |",
                                "|          .. .   |",
                                "|            .    |",
                                "|                 |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-b0a0-c8de-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:16.169816Z",
                            "start": "2026-02-27T14:16:14.640842Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:16.201681Z",
                            "start": "2026-02-27T14:16:16.176929Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:16.236686Z",
                            "start": "2026-02-27T14:16:16.221277Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQClwnhZeHdYG9UsSiUNivTtGFtlCH74B/T/GkVblibJTwRC+NuMC+GX9wwch/y+zRa9aj60Q9VfeZGFd5LgZxnOs9pPepaHYWU/OHAJ4wXZKNhlxEt5+4kbLjfPL5f9RqiATtUNqP8dK7J8V1O6JsNYl1XIBLJYSNmfBdNm298Scmln4OXzYo8ksnu24O9sDx9uP2zaYTRh6TYHGty7DVJV10MTZ9XGh7qTG9SDA1wE2aoRwYJWAg1I7XP7nyCgEfoIqWCYF7lolGHCmqg96pplBQ0JP1Y24a/M/8ooR62C1RdSAOuW1Sn3rXrREZK9q9ilL3vBwodEYYAI6aV6cp/py93ql5Qr3Jxc+WiXmRCUNNK4BvKJCp9m8b/8X2RQPE8+KPsCzKj/pJp+j/YL/OJVxv7c/e58B+CfIaE+T7Nrzywj9Y8B65uHjLCdYhocvlf6PivZZBbAL5sCMbAh9vhe5ZUabJkJY+zfnh8w9eySm5elqqBIQkPMUvcnxcmYO3c= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQClwnhZeHdYG9UsSiUNivTtGFtlCH74B/T/GkVblibJTwRC+NuMC+GX9wwch/y+zRa9aj60Q9VfeZGFd5LgZxnOs9pPepaHYWU/OHAJ4wXZKNhlxEt5+4kbLjfPL5f9RqiATtUNqP8dK7J8V1O6JsNYl1XIBLJYSNmfBdNm298Scmln4OXzYo8ksnu24O9sDx9uP2zaYTRh6TYHGty7DVJV10MTZ9XGh7qTG9SDA1wE2aoRwYJWAg1I7XP7nyCgEfoIqWCYF7lolGHCmqg96pplBQ0JP1Y24a/M/8ooR62C1RdSAOuW1Sn3rXrREZK9q9ilL3vBwodEYYAI6aV6cp/py93ql5Qr3Jxc+WiXmRCUNNK4BvKJCp9m8b/8X2RQPE8+KPsCzKj/pJp+j/YL/OJVxv7c/e58B+CfIaE+T7Nrzywj9Y8B65uHjLCdYhocvlf6PivZZBbAL5sCMbAh9vhe5ZUabJkJY+zfnh8w9eySm5elqqBIQkPMUvcnxcmYO3c= 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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:16.783692Z",
                            "start": "2026-02-27T14:16:16.246782Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:17.020500Z",
                            "start": "2026-02-27T14:16:16.789652Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "8a52972c047ecda8428f4f48b1d127a2c0fe6cd4",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "fe9d04ac641345469b71088c667ffe71_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "8a52972c047ecda8428f4f48b1d127a2c0fe6cd4",
                                    "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-1772201777.0727077-190-90696864133531/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "bf5345019923d7ebee05b329d0f687a8",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772201777.0727077-190-90696864133531/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:17.584431Z",
                            "start": "2026-02-27T14:16:17.025992Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "0530a6ed1c326cb2bc29e2fb4d4551e29cfc4e40",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "fe9d04ac641345469b71088c667ffe71_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "0530a6ed1c326cb2bc29e2fb4d4551e29cfc4e40",
                                    "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-1772201777.6379902-200-42277147922674/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "adb9ab098ace3bff447ef2c246bb3ec9",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772201777.6379902-200-42277147922674/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:18.158478Z",
                            "start": "2026-02-27T14:16:17.591378Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:18.189106Z",
                            "start": "2026-02-27T14:16:18.163719Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:18.553378Z",
                            "start": "2026-02-27T14:16:18.198759Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa"
                            ],
                            "delta": "0:00:00.014345",
                            "end": "2026-02-27 14:16:18.789445",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_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-b0a0-c8de-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-27 14:16:18.775100",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/fe9d04ac641345469b71088c667ffe71_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-b0a0-c8de-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:18.903448Z",
                            "start": "2026-02-27T14:16:18.570511Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:19.281712Z",
                            "start": "2026-02-27T14:16:18.909866Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:19.312678Z",
                            "start": "2026-02-27T14:16:19.287155Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:19.697281Z",
                            "start": "2026-02-27T14:16:19.328563Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:20.645802Z",
                            "start": "2026-02-27T14:16:19.704230Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:21.338083Z",
                            "start": "2026-02-27T14:16:20.657031Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-b0a0-c8de-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:21.976201Z",
                            "start": "2026-02-27T14:16:21.349036Z"
                        },
                        "id": "0242ac17-0011-b0a0-c8de-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-02-27T14:16:25.633907Z",
                    "start": "2026-02-27T14:16:22.687907Z"
                },
                "id": "0242ac17-0011-28d9-8415-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-1772201782.738486-5-226337859223881/uv-x86_64-unknown-linux-gnujayuhsjo.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-1772201782.738486-5-226337859223881/uv-x86_64-unknown-linux-gnujayuhsjo.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-28d9-8415-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:25.086769Z",
                            "start": "2026-02-27T14:16:22.699611Z"
                        },
                        "id": "0242ac17-0011-28d9-8415-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.016340",
                            "end": "2026-02-27 14:16:24.561254",
                            "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-28d9-8415-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-27 14:16:24.544914",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-28d9-8415-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-28d9-8415-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:25.633907Z",
                            "start": "2026-02-27T14:16:25.114741Z"
                        },
                        "id": "0242ac17-0011-28d9-8415-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-02-27T14:20:30.392415Z",
                    "start": "2026-02-27T14:16:26.329607Z"
                },
                "id": "0242ac17-0011-db6b-a00b-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "b3be4a9a61313decf9445fcd105583e9f75f5b54",
                            "dest": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b3be4a9a61313decf9445fcd105583e9f75f5b54",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere.common",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772201786.3871763-5-84438907194195/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "b79256f823b9e702a51235cce5c492e0",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 285247,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772201786.3871763-5-84438907194195/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:27.335629Z",
                            "start": "2026-02-27T14:16:26.340932Z"
                        },
                        "id": "0242ac17-0011-db6b-a00b-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:16:27.650973Z",
                            "start": "2026-02-27T14:16:27.341652Z"
                        },
                        "id": "0242ac17-0011-db6b-a00b-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "secretgen-controller"
                            ],
                            "delta": "0:04:03.204306",
                            "end": "2026-02-27 14:20:30.334510",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s secretgen-controller",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere.common",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-db6b-a00b-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-27 14:16:27.130204",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.12.3 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nDownloading pygments (1.2MiB)\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.3MiB)\nDownloading ansible-core (2.3MiB)\n Downloading cryptography\n Downloading pygments\n Downloading kubernetes\n Downloading ansible-core\nInstalled 47 packages in 51ms\nINFO     Collection 'atmosphere.common' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...\nINFO     [secretgen-controller > dependency] Executing\nWARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml\nWARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml\nWARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nINFO     [secretgen-controller > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml\nINFO     [secretgen-controller > syntax] Executed: Successful\nINFO     [secretgen-controller > create] Executing\nWARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 27 February 2026  14:17:04 +0000 (0:00:00.031)       0:00:00.031 *******\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nFriday 27 February 2026  14:17:05 +0000 (0:00:01.316)       0:00:01.347 *******\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 27 February 2026  14:17:12 +0000 (0:00:06.211)       0:00:07.559 *******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nFriday 27 February 2026  14:17:14 +0000 (0:00:01.906)       0:00:09.466 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nFriday 27 February 2026  14:17:14 +0000 (0:00:00.464)       0:00:09.930 *******\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 27 February 2026  14:17:16 +0000 (0:00:01.454)       0:00:11.385 *******\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 27 February 2026  14:17:17 +0000 (0:00:00.991)       0:00:12.376 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nFriday 27 February 2026  14:17:17 +0000 (0:00:00.435)       0:00:12.812 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nFriday 27 February 2026  14:17:17 +0000 (0:00:00.318)       0:00:13.131 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nFriday 27 February 2026  14:17:17 +0000 (0:00:00.030)       0:00:13.161 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nFriday 27 February 2026  14:17:17 +0000 (0:00:00.039)       0:00:13.200 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nFriday 27 February 2026  14:17:18 +0000 (0:00:00.991)       0:00:14.192 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nFriday 27 February 2026  14:17:19 +0000 (0:00:00.323)       0:00:14.515 *******\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 27 February 2026  14:17:19 +0000 (0:00:00.049)       0:00:14.565 *******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:17:20 +0000 (0:00:00.889)       0:00:15.455 *******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 27 February 2026  14:17:20 +0000 (0:00:00.395)       0:00:15.850 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 27 February 2026  14:17:20 +0000 (0:00:00.033)       0:00:15.884 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:17:20 +0000 (0:00:00.322)       0:00:16.207 *******\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 27 February 2026  14:17:20 +0000 (0:00:00.075)       0:00:16.282 *******\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 27 February 2026  14:17:22 +0000 (0:00:01.942)       0:00:18.225 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:17:22 +0000 (0:00:00.035)       0:00:18.260 *******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 27 February 2026  14:17:23 +0000 (0:00:00.329)       0:00:18.589 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:17:24 +0000 (0:00:01.011)       0:00:19.601 *******\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 27 February 2026  14:17:24 +0000 (0:00:00.073)       0:00:19.675 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:17:25 +0000 (0:00:01.539)       0:00:21.215 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 27 February 2026  14:17:29 +0000 (0:00:03.183)       0:00:24.399 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 27 February 2026  14:17:29 +0000 (0:00:00.032)       0:00:24.431 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 27 February 2026  14:17:29 +0000 (0:00:00.031)       0:00:24.462 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 27 February 2026  14:17:29 +0000 (0:00:00.030)       0:00:24.493 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 27 February 2026  14:17:36 +0000 (0:00:07.742)       0:00:32.235 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 27 February 2026  14:17:37 +0000 (0:00:00.699)       0:00:32.934 *******\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 27 February 2026  14:17:39 +0000 (0:00:01.498)       0:00:34.432 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 27 February 2026  14:17:39 +0000 (0:00:00.750)       0:00:35.183 *******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nFriday 27 February 2026  14:17:39 +0000 (0:00:00.004)       0:00:35.188 *******\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 27 February 2026  14:17:40 +0000 (0:00:00.857)       0:00:36.045 *******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 27 February 2026  14:17:41 +0000 (0:00:00.900)       0:00:36.946 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nFriday 27 February 2026  14:17:42 +0000 (0:00:00.727)       0:00:37.673 *******\n[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000157307's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3\n\n14\n15 ---\n16 - name: Retrieve the \"kubeadm-config\" ConfigMap\n     ^ column 3\n\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000157307's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.698)       0:00:38.371 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.031)       0:00:38.403 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.439 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.474 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.034)       0:00:38.509 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.544 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.309)       0:00:38.854 *******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 27 February 2026  14:17:43 +0000 (0:00:00.048)       0:00:38.902 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:17:54 +0000 (0:00:11.261)       0:00:50.163 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:17:54 +0000 (0:00:00.033)       0:00:50.196 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:17:55 +0000 (0:00:00.303)       0:00:50.500 *******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 27 February 2026  14:17:55 +0000 (0:00:00.034)       0:00:50.534 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:18:01 +0000 (0:00:05.903)       0:00:56.438 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 27 February 2026  14:18:01 +0000 (0:00:00.043)       0:00:56.481 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 27 February 2026  14:18:01 +0000 (0:00:00.027)       0:00:56.509 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 27 February 2026  14:18:01 +0000 (0:00:00.029)       0:00:56.538 *******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 27 February 2026  14:18:01 +0000 (0:00:00.031)       0:00:56.570 *******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 27 February 2026  14:18:02 +0000 (0:00:01.111)       0:00:57.682 *******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 27 February 2026  14:18:03 +0000 (0:00:00.693)       0:00:58.375 *******\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 27 February 2026  14:18:04 +0000 (0:00:01.490)       0:00:59.865 *******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 27 February 2026  14:18:05 +0000 (0:00:00.774)       0:01:00.640 *******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 27 February 2026  14:18:05 +0000 (0:00:00.004)       0:01:00.644 *******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:18:05 +0000 (0:00:00.507)       0:01:01.151 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:18:06 +0000 (0:00:00.314)       0:01:01.466 *******\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 27 February 2026  14:18:06 +0000 (0:00:00.060)       0:01:01.526 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:18:07 +0000 (0:00:00.840)       0:01:02.366 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:18:08 +0000 (0:00:01.758)       0:01:04.124 *******\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 27 February 2026  14:18:08 +0000 (0:00:00.085)       0:01:04.210 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:18:09 +0000 (0:00:00.893)       0:01:05.104 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nFriday 27 February 2026  14:18:11 +0000 (0:00:01.688)       0:01:06.792 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nFriday 27 February 2026  14:18:12 +0000 (0:00:00.691)       0:01:07.484 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:18:12 +0000 (0:00:00.321)       0:01:07.806 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:18:12 +0000 (0:00:00.306)       0:01:08.113 *******\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 27 February 2026  14:18:12 +0000 (0:00:00.061)       0:01:08.174 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:18:14 +0000 (0:00:01.774)       0:01:09.948 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nFriday 27 February 2026  14:18:17 +0000 (0:00:02.958)       0:01:12.906 *******\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 27 February 2026  14:18:17 +0000 (0:00:00.052)       0:01:12.959 *******\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nFriday 27 February 2026  14:18:18 +0000 (0:00:01.168)       0:01:14.127 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nFriday 27 February 2026  14:18:19 +0000 (0:00:00.447)       0:01:14.575 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nFriday 27 February 2026  14:18:19 +0000 (0:00:00.688)       0:01:15.263 *******\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 27 February 2026  14:18:21 +0000 (0:00:01.371)       0:01:16.635 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:18:21 +0000 (0:00:00.312)       0:01:16.947 *******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 27 February 2026  14:18:21 +0000 (0:00:00.046)       0:01:16.994 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:18:34 +0000 (0:00:12.698)       0:01:29.693 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nFriday 27 February 2026  14:18:34 +0000 (0:00:00.039)       0:01:29.732 *******\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nFriday 27 February 2026  14:18:34 +0000 (0:00:00.047)       0:01:29.780 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nFriday 27 February 2026  14:18:34 +0000 (0:00:00.030)       0:01:29.810 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nFriday 27 February 2026  14:18:38 +0000 (0:00:03.562)       0:01:33.372 *******\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 27 February 2026  14:18:40 +0000 (0:00:02.125)       0:01:35.498 *******\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 27 February 2026  14:18:41 +0000 (0:00:00.900)       0:01:36.398 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nFriday 27 February 2026  14:18:41 +0000 (0:00:00.694)       0:01:37.093 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nFriday 27 February 2026  14:18:42 +0000 (0:00:00.725)       0:01:37.819 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nFriday 27 February 2026  14:18:42 +0000 (0:00:00.465)       0:01:38.285 *******\n[ERROR]: Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\n\nTask failed.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:78:7\n\n76       register: kubelet_swapon\n77\n78     - name: Disable swap\n         ^ column 7\n\n<<< caused by >>>\n\nConditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\nOrigin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml: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 was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nFriday 27 February 2026  14:18:42 +0000 (0:00:00.033)       0:01:38.319 *******\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Passing `warnings` to `exit_json` or `fail_json` is deprecated. This feature will be removed from ansible-core version 2.23. Use `AnsibleModule.warn` instead.\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nFriday 27 February 2026  14:18:43 +0000 (0:00:00.773)       0:01:39.093 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nFriday 27 February 2026  14:18:44 +0000 (0:00:00.720)       0:01:39.813 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nFriday 27 February 2026  14:18:45 +0000 (0:00:00.747)       0:01:40.561 *******\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 27 February 2026  14:18:45 +0000 (0:00:00.004)       0:01:40.565 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nFriday 27 February 2026  14:18:46 +0000 (0:00:00.921)       0:01:41.487 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nFriday 27 February 2026  14:18:46 +0000 (0:00:00.782)       0:01:42.269 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nFriday 27 February 2026  14:18:47 +0000 (0:00:01.019)       0:01:43.289 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nFriday 27 February 2026  14:18:49 +0000 (0:00:01.888)       0:01:45.177 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nFriday 27 February 2026  14:18:50 +0000 (0:00:00.441)       0:01:45.618 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nFriday 27 February 2026  14:18:50 +0000 (0:00:00.592)       0:01:46.211 *******\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 27 February 2026  14:18:50 +0000 (0:00:00.076)       0:01:46.287 *******\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 27 February 2026  14:18:51 +0000 (0:00:00.077)       0:01:46.365 *******\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nFriday 27 February 2026  14:18:51 +0000 (0:00:00.316)       0:01:46.682 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nFriday 27 February 2026  14:18:51 +0000 (0:00:00.039)       0:01:46.721 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nFriday 27 February 2026  14:18:51 +0000 (0:00:00.046)       0:01:46.768 *******\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nFriday 27 February 2026  14:18:51 +0000 (0:00:00.039)       0:01:46.808 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.706)       0:01:47.514 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.031)       0:01:47.545 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.028)       0:01:47.573 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.029)       0:01:47.603 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.028)       0:01:47.632 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.027)       0:01:47.659 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.031)       0:01:47.691 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nFriday 27 February 2026  14:18:52 +0000 (0:00:00.035)       0:01:47.726 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nFriday 27 February 2026  14:19:20 +0000 (0:00:27.792)       0:02:15.518 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nFriday 27 February 2026  14:19:20 +0000 (0:00:00.333)       0:02:15.852 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nFriday 27 February 2026  14:19:20 +0000 (0:00:00.033)       0:02:15.885 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nFriday 27 February 2026  14:19:20 +0000 (0:00:00.349)       0:02:16.234 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nFriday 27 February 2026  14:19:21 +0000 (0:00:00.339)       0:02:16.574 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nFriday 27 February 2026  14:19:21 +0000 (0:00:00.314)       0:02:16.888 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nFriday 27 February 2026  14:19:21 +0000 (0:00:00.035)       0:02:16.924 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nFriday 27 February 2026  14:19:21 +0000 (0:00:00.035)       0:02:16.959 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nFriday 27 February 2026  14:19:21 +0000 (0:00:00.042)       0:02:17.001 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nFriday 27 February 2026  14:19:29 +0000 (0:00:07.709)       0:02:24.711 *******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.847)       0:02:25.558 *******\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.036)       0:02:25.594 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.032)       0:02:25.626 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.032)       0:02:25.659 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.033)       0:02:25.692 *******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.031)       0:02:25.724 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nFriday 27 February 2026  14:19:30 +0000 (0:00:00.540)       0:02:26.264 *******\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 27 February 2026  14:19:31 +0000 (0:00:01.036)       0:02:27.301 *******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 27 February 2026  14:19:32 +0000 (0:00:00.845)       0:02:28.147 *******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 27 February 2026  14:19:33 +0000 (0:00:00.313)       0:02:28.460 *******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 27 February 2026  14:19:34 +0000 (0:00:00.988)       0:02:29.448 *******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:19:34 +0000 (0:00:00.337)       0:02:29.786 *******\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 27 February 2026  14:19:34 +0000 (0:00:00.039)       0:02:29.825 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:19:35 +0000 (0:00:00.877)       0:02:30.703 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nFriday 27 February 2026  14:19:38 +0000 (0:00:02.752)       0:02:33.455 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nFriday 27 February 2026  14:19:38 +0000 (0:00:00.437)       0:02:33.893 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nFriday 27 February 2026  14:19:38 +0000 (0:00:00.307)       0:02:34.201 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nFriday 27 February 2026  14:19:39 +0000 (0:00:00.360)       0:02:34.562 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nFriday 27 February 2026  14:19:39 +0000 (0:00:00.310)       0:02:34.872 *******\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nFriday 27 February 2026  14:19:39 +0000 (0:00:00.312)       0:02:35.185 *******\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 27 February 2026  14:19:39 +0000 (0:00:00.049)       0:02:35.234 *******\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 27 February 2026  14:19:39 +0000 (0:00:00.034)       0:02:35.269 *******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 27 February 2026  14:19:42 +0000 (0:00:02.208)       0:02:37.478 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 27 February 2026  14:19:44 +0000 (0:00:02.059)       0:02:39.537 *******\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 27 February 2026  14:19:44 +0000 (0:00:00.037)       0:02:39.574 *******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nFriday 27 February 2026  14:19:44 +0000 (0:00:00.754)       0:02:40.328 *******\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nFriday 27 February 2026  14:19:45 +0000 (0:00:00.914)       0:02:41.243 *******\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=114  changed=51   unreachable=0    failed=0    skipped=34   rescued=0    ignored=3\n\n\nTASKS RECAP ********************************************************************\nFriday 27 February 2026  14:19:47 +0000 (0:00:02.060)       0:02:43.303 *******\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 27.79s\nvexxhost.containers.download_artifact : Download item ------------------ 12.70s\nvexxhost.containers.download_artifact : Download item ------------------ 11.26s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 7.74s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.71s\nInstall Debian packages ------------------------------------------------- 6.21s\nvexxhost.containers.download_artifact : Download item ------------------- 5.90s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.56s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.18s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.96s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.75s\nvexxhost.containers.download_artifact : Download item ------------------- 2.21s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.13s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.06s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.06s\nvexxhost.containers.download_artifact : Download item ------------------- 1.94s\nGathering Facts --------------------------------------------------------- 1.91s\nvexxhost.kubernetes.kubelet : Configure short hostname ------------------ 1.89s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.82s\nvexxhost.containers.download_artifact : Download item ------------------- 1.77s\nINFO     [secretgen-controller > prepare] Executed: Successful\nINFO     [secretgen-controller > converge] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nFriday 27 February 2026  14:19:49 +0000 (0:00:00.013)       0:00:00.013 *******\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 27 February 2026  14:19:50 +0000 (0:00:01.440)       0:00:01.454 *******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.44s\nINFO     [secretgen-controller > converge] Executed: Successful\nINFO     [secretgen-controller > idempotence] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nFriday 27 February 2026  14:19:51 +0000 (0:00:00.012)       0:00:00.012 *******\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\n[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.\n[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 27 February 2026  14:19:52 +0000 (0:00:01.405)       0:00:01.418 *******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.41s\nINFO     [secretgen-controller > idempotence] Executed: Successful\nINFO     [secretgen-controller > side_effect] Executing\nWARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 27 February 2026  14:19:53 +0000 (0:00:00.008)       0:00:00.008 *******\n[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Wait for secretgen-controller deployment to be available] ****************\nFriday 27 February 2026  14:19:55 +0000 (0:00:01.133)       0:00:01.142 *******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.\nFAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (30 retries left).\nFAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (29 retries left).\nFAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (28 retries left).\nok: [controller]\n\nTASK [Create a test Password resource] *****************************************\nFriday 27 February 2026  14:20:28 +0000 (0:00:33.246)       0:00:34.389 *******\nchanged: [controller]\n\nTASK [Wait for test-password secret to be generated] ***************************\nFriday 27 February 2026  14:20:29 +0000 (0:00:00.991)       0:00:35.380 *******\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 27 February 2026  14:20:30 +0000 (0:00:00.773)       0:00:36.154 *******\n===============================================================================\nWait for secretgen-controller deployment to be available --------------- 33.25s\nGathering Facts --------------------------------------------------------- 1.13s\nCreate a test Password resource ----------------------------------------- 0.99s\nWait for test-password secret to be generated --------------------------- 0.77s\nINFO     [secretgen-controller > verify] Executed: Successful\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "stdout_lines": [
                                "Using CPython 3.12.3 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Downloading pygments (1.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.3MiB)",
                                "Downloading ansible-core (2.3MiB)",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 47 packages in 51ms",
                                "INFO     Collection 'atmosphere.common' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [secretgen-controller > dependency] Executing",
                                "WARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "INFO     [secretgen-controller > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml",
                                "INFO     [secretgen-controller > syntax] Executed: Successful",
                                "INFO     [secretgen-controller > create] Executing",
                                "WARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 27 February 2026  14:17:04 +0000 (0:00:00.031)       0:00:00.031 *******",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Friday 27 February 2026  14:17:05 +0000 (0:00:01.316)       0:00:01.347 *******",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 27 February 2026  14:17:12 +0000 (0:00:06.211)       0:00:07.559 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Friday 27 February 2026  14:17:14 +0000 (0:00:01.906)       0:00:09.466 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Friday 27 February 2026  14:17:14 +0000 (0:00:00.464)       0:00:09.930 *******",
                                "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 27 February 2026  14:17:16 +0000 (0:00:01.454)       0:00:11.385 *******",
                                "[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 27 February 2026  14:17:17 +0000 (0:00:00.991)       0:00:12.376 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Friday 27 February 2026  14:17:17 +0000 (0:00:00.435)       0:00:12.812 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Friday 27 February 2026  14:17:17 +0000 (0:00:00.318)       0:00:13.131 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Friday 27 February 2026  14:17:17 +0000 (0:00:00.030)       0:00:13.161 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Friday 27 February 2026  14:17:17 +0000 (0:00:00.039)       0:00:13.200 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Friday 27 February 2026  14:17:18 +0000 (0:00:00.991)       0:00:14.192 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Friday 27 February 2026  14:17:19 +0000 (0:00:00.323)       0:00:14.515 *******",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 27 February 2026  14:17:19 +0000 (0:00:00.049)       0:00:14.565 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:17:20 +0000 (0:00:00.889)       0:00:15.455 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 27 February 2026  14:17:20 +0000 (0:00:00.395)       0:00:15.850 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 27 February 2026  14:17:20 +0000 (0:00:00.033)       0:00:15.884 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:17:20 +0000 (0:00:00.322)       0:00:16.207 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 27 February 2026  14:17:20 +0000 (0:00:00.075)       0:00:16.282 *******",
                                "[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 27 February 2026  14:17:22 +0000 (0:00:01.942)       0:00:18.225 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:17:22 +0000 (0:00:00.035)       0:00:18.260 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 27 February 2026  14:17:23 +0000 (0:00:00.329)       0:00:18.589 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:17:24 +0000 (0:00:01.011)       0:00:19.601 *******",
                                "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 27 February 2026  14:17:24 +0000 (0:00:00.073)       0:00:19.675 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:17:25 +0000 (0:00:01.539)       0:00:21.215 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 27 February 2026  14:17:29 +0000 (0:00:03.183)       0:00:24.399 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 27 February 2026  14:17:29 +0000 (0:00:00.032)       0:00:24.431 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 27 February 2026  14:17:29 +0000 (0:00:00.031)       0:00:24.462 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 27 February 2026  14:17:29 +0000 (0:00:00.030)       0:00:24.493 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 27 February 2026  14:17:36 +0000 (0:00:07.742)       0:00:32.235 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 27 February 2026  14:17:37 +0000 (0:00:00.699)       0:00:32.934 *******",
                                "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 27 February 2026  14:17:39 +0000 (0:00:01.498)       0:00:34.432 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 27 February 2026  14:17:39 +0000 (0:00:00.750)       0:00:35.183 *******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Friday 27 February 2026  14:17:39 +0000 (0:00:00.004)       0:00:35.188 *******",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 27 February 2026  14:17:40 +0000 (0:00:00.857)       0:00:36.045 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 27 February 2026  14:17:41 +0000 (0:00:00.900)       0:00:36.946 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Friday 27 February 2026  14:17:42 +0000 (0:00:00.727)       0:00:37.673 *******",
                                "[ERROR]: Task failed: Module failed: Failed to import the required Python library (kubernetes) on np0000157307's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes_upgrade_check/tasks/main.yml:16:3",
                                "",
                                "14",
                                "15 ---",
                                "16 - name: Retrieve the \"kubeadm-config\" ConfigMap",
                                "     ^ column 3",
                                "",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000157307's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.698)       0:00:38.371 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.031)       0:00:38.403 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.439 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.474 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.034)       0:00:38.509 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.035)       0:00:38.544 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.309)       0:00:38.854 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 27 February 2026  14:17:43 +0000 (0:00:00.048)       0:00:38.902 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:17:54 +0000 (0:00:11.261)       0:00:50.163 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:17:54 +0000 (0:00:00.033)       0:00:50.196 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:17:55 +0000 (0:00:00.303)       0:00:50.500 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 27 February 2026  14:17:55 +0000 (0:00:00.034)       0:00:50.534 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:18:01 +0000 (0:00:05.903)       0:00:56.438 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 27 February 2026  14:18:01 +0000 (0:00:00.043)       0:00:56.481 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 27 February 2026  14:18:01 +0000 (0:00:00.027)       0:00:56.509 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 27 February 2026  14:18:01 +0000 (0:00:00.029)       0:00:56.538 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 27 February 2026  14:18:01 +0000 (0:00:00.031)       0:00:56.570 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 27 February 2026  14:18:02 +0000 (0:00:01.111)       0:00:57.682 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 27 February 2026  14:18:03 +0000 (0:00:00.693)       0:00:58.375 *******",
                                "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 27 February 2026  14:18:04 +0000 (0:00:01.490)       0:00:59.865 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 27 February 2026  14:18:05 +0000 (0:00:00.774)       0:01:00.640 *******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 27 February 2026  14:18:05 +0000 (0:00:00.004)       0:01:00.644 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:18:05 +0000 (0:00:00.507)       0:01:01.151 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:18:06 +0000 (0:00:00.314)       0:01:01.466 *******",
                                "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 27 February 2026  14:18:06 +0000 (0:00:00.060)       0:01:01.526 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:18:07 +0000 (0:00:00.840)       0:01:02.366 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:18:08 +0000 (0:00:01.758)       0:01:04.124 *******",
                                "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 27 February 2026  14:18:08 +0000 (0:00:00.085)       0:01:04.210 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:18:09 +0000 (0:00:00.893)       0:01:05.104 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Friday 27 February 2026  14:18:11 +0000 (0:00:01.688)       0:01:06.792 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Friday 27 February 2026  14:18:12 +0000 (0:00:00.691)       0:01:07.484 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:18:12 +0000 (0:00:00.321)       0:01:07.806 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:18:12 +0000 (0:00:00.306)       0:01:08.113 *******",
                                "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 27 February 2026  14:18:12 +0000 (0:00:00.061)       0:01:08.174 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:18:14 +0000 (0:00:01.774)       0:01:09.948 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Friday 27 February 2026  14:18:17 +0000 (0:00:02.958)       0:01:12.906 *******",
                                "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 27 February 2026  14:18:17 +0000 (0:00:00.052)       0:01:12.959 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Friday 27 February 2026  14:18:18 +0000 (0:00:01.168)       0:01:14.127 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Friday 27 February 2026  14:18:19 +0000 (0:00:00.447)       0:01:14.575 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Friday 27 February 2026  14:18:19 +0000 (0:00:00.688)       0:01:15.263 *******",
                                "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 27 February 2026  14:18:21 +0000 (0:00:01.371)       0:01:16.635 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:18:21 +0000 (0:00:00.312)       0:01:16.947 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 27 February 2026  14:18:21 +0000 (0:00:00.046)       0:01:16.994 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:18:34 +0000 (0:00:12.698)       0:01:29.693 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Friday 27 February 2026  14:18:34 +0000 (0:00:00.039)       0:01:29.732 *******",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Friday 27 February 2026  14:18:34 +0000 (0:00:00.047)       0:01:29.780 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Friday 27 February 2026  14:18:34 +0000 (0:00:00.030)       0:01:29.810 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Friday 27 February 2026  14:18:38 +0000 (0:00:03.562)       0:01:33.372 *******",
                                "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 27 February 2026  14:18:40 +0000 (0:00:02.125)       0:01:35.498 *******",
                                "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 27 February 2026  14:18:41 +0000 (0:00:00.900)       0:01:36.398 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Friday 27 February 2026  14:18:41 +0000 (0:00:00.694)       0:01:37.093 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Friday 27 February 2026  14:18:42 +0000 (0:00:00.725)       0:01:37.819 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Friday 27 February 2026  14:18:42 +0000 (0:00:00.465)       0:01:38.285 *******",
                                "[ERROR]: Task failed: Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.",
                                "",
                                "Task failed.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml:78:7",
                                "",
                                "76       register: kubelet_swapon",
                                "77",
                                "78     - name: Disable swap",
                                "         ^ column 7",
                                "",
                                "<<< caused by >>>",
                                "",
                                "Conditional result was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.",
                                "Origin: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml: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 was '' of type 'str', which evaluates to False. Conditionals must have a boolean result.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Friday 27 February 2026  14:18:42 +0000 (0:00:00.033)       0:01:38.319 *******",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Passing `warnings` to `exit_json` or `fail_json` is deprecated. This feature will be removed from ansible-core version 2.23. Use `AnsibleModule.warn` instead.",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Friday 27 February 2026  14:18:43 +0000 (0:00:00.773)       0:01:39.093 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Friday 27 February 2026  14:18:44 +0000 (0:00:00.720)       0:01:39.813 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Friday 27 February 2026  14:18:45 +0000 (0:00:00.747)       0:01:40.561 *******",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 27 February 2026  14:18:45 +0000 (0:00:00.004)       0:01:40.565 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Friday 27 February 2026  14:18:46 +0000 (0:00:00.921)       0:01:41.487 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Friday 27 February 2026  14:18:46 +0000 (0:00:00.782)       0:01:42.269 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Friday 27 February 2026  14:18:47 +0000 (0:00:01.019)       0:01:43.289 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Friday 27 February 2026  14:18:49 +0000 (0:00:01.888)       0:01:45.177 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Friday 27 February 2026  14:18:50 +0000 (0:00:00.441)       0:01:45.618 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Friday 27 February 2026  14:18:50 +0000 (0:00:00.592)       0:01:46.211 *******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Friday 27 February 2026  14:18:50 +0000 (0:00:00.076)       0:01:46.287 *******",
                                "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 27 February 2026  14:18:51 +0000 (0:00:00.077)       0:01:46.365 *******",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Friday 27 February 2026  14:18:51 +0000 (0:00:00.316)       0:01:46.682 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Friday 27 February 2026  14:18:51 +0000 (0:00:00.039)       0:01:46.721 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Friday 27 February 2026  14:18:51 +0000 (0:00:00.046)       0:01:46.768 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Friday 27 February 2026  14:18:51 +0000 (0:00:00.039)       0:01:46.808 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.706)       0:01:47.514 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.031)       0:01:47.545 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.028)       0:01:47.573 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.029)       0:01:47.603 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.028)       0:01:47.632 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.027)       0:01:47.659 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.031)       0:01:47.691 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Friday 27 February 2026  14:18:52 +0000 (0:00:00.035)       0:01:47.726 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Friday 27 February 2026  14:19:20 +0000 (0:00:27.792)       0:02:15.518 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Friday 27 February 2026  14:19:20 +0000 (0:00:00.333)       0:02:15.852 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Friday 27 February 2026  14:19:20 +0000 (0:00:00.033)       0:02:15.885 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Friday 27 February 2026  14:19:20 +0000 (0:00:00.349)       0:02:16.234 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Friday 27 February 2026  14:19:21 +0000 (0:00:00.339)       0:02:16.574 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Friday 27 February 2026  14:19:21 +0000 (0:00:00.314)       0:02:16.888 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Friday 27 February 2026  14:19:21 +0000 (0:00:00.035)       0:02:16.924 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Friday 27 February 2026  14:19:21 +0000 (0:00:00.035)       0:02:16.959 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Friday 27 February 2026  14:19:21 +0000 (0:00:00.042)       0:02:17.001 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Friday 27 February 2026  14:19:29 +0000 (0:00:07.709)       0:02:24.711 *******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.847)       0:02:25.558 *******",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.036)       0:02:25.594 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.032)       0:02:25.626 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.032)       0:02:25.659 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.033)       0:02:25.692 *******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.031)       0:02:25.724 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Friday 27 February 2026  14:19:30 +0000 (0:00:00.540)       0:02:26.264 *******",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 27 February 2026  14:19:31 +0000 (0:00:01.036)       0:02:27.301 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 27 February 2026  14:19:32 +0000 (0:00:00.845)       0:02:28.147 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 27 February 2026  14:19:33 +0000 (0:00:00.313)       0:02:28.460 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 27 February 2026  14:19:34 +0000 (0:00:00.988)       0:02:29.448 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:19:34 +0000 (0:00:00.337)       0:02:29.786 *******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 27 February 2026  14:19:34 +0000 (0:00:00.039)       0:02:29.825 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:19:35 +0000 (0:00:00.877)       0:02:30.703 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Friday 27 February 2026  14:19:38 +0000 (0:00:02.752)       0:02:33.455 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Friday 27 February 2026  14:19:38 +0000 (0:00:00.437)       0:02:33.893 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Friday 27 February 2026  14:19:38 +0000 (0:00:00.307)       0:02:34.201 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Friday 27 February 2026  14:19:39 +0000 (0:00:00.360)       0:02:34.562 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Friday 27 February 2026  14:19:39 +0000 (0:00:00.310)       0:02:34.872 *******",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Friday 27 February 2026  14:19:39 +0000 (0:00:00.312)       0:02:35.185 *******",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 27 February 2026  14:19:39 +0000 (0:00:00.049)       0:02:35.234 *******",
                                "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 27 February 2026  14:19:39 +0000 (0:00:00.034)       0:02:35.269 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 27 February 2026  14:19:42 +0000 (0:00:02.208)       0:02:37.478 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 27 February 2026  14:19:44 +0000 (0:00:02.059)       0:02:39.537 *******",
                                "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 27 February 2026  14:19:44 +0000 (0:00:00.037)       0:02:39.574 *******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Friday 27 February 2026  14:19:44 +0000 (0:00:00.754)       0:02:40.328 *******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Friday 27 February 2026  14:19:45 +0000 (0:00:00.914)       0:02:41.243 *******",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=114  changed=51   unreachable=0    failed=0    skipped=34   rescued=0    ignored=3",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 27 February 2026  14:19:47 +0000 (0:00:02.060)       0:02:43.303 *******",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 27.79s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 12.70s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 11.26s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 7.74s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.71s",
                                "Install Debian packages ------------------------------------------------- 6.21s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 5.90s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.56s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.18s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.96s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.75s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.21s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.13s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.06s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.06s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.94s",
                                "Gathering Facts --------------------------------------------------------- 1.91s",
                                "vexxhost.kubernetes.kubelet : Configure short hostname ------------------ 1.89s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.82s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.77s",
                                "INFO     [secretgen-controller > prepare] Executed: Successful",
                                "INFO     [secretgen-controller > converge] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 27 February 2026  14:19:49 +0000 (0:00:00.013)       0:00:00.013 *******",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 27 February 2026  14:19:50 +0000 (0:00:01.440)       0:00:01.454 *******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.44s",
                                "INFO     [secretgen-controller > converge] Executed: Successful",
                                "INFO     [secretgen-controller > idempotence] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 27 February 2026  14:19:51 +0000 (0:00:00.012)       0:00:00.012 *******",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "[WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.",
                                "[DEPRECATION WARNING]: Direct access to the `environment` attribute is deprecated. This feature will be removed from ansible-core version 2.23. Consider using `copy_with_new_env` or passing `overrides` to `template`.",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 27 February 2026  14:19:52 +0000 (0:00:01.405)       0:00:01.418 *******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.41s",
                                "INFO     [secretgen-controller > idempotence] Executed: Successful",
                                "INFO     [secretgen-controller > side_effect] Executing",
                                "WARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 27 February 2026  14:19:53 +0000 (0:00:00.008)       0:00:00.008 *******",
                                "[WARNING]: Host 'controller' is using the discovered Python interpreter at '/usr/bin/python3.12', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Wait for secretgen-controller deployment to be available] ****************",
                                "Friday 27 February 2026  14:19:55 +0000 (0:00:01.133)       0:00:01.142 *******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not work.",
                                "FAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (30 retries left).",
                                "FAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (29 retries left).",
                                "FAILED - RETRYING: [controller]: Wait for secretgen-controller deployment to be available (28 retries left).",
                                "ok: [controller]",
                                "",
                                "TASK [Create a test Password resource] *****************************************",
                                "Friday 27 February 2026  14:20:28 +0000 (0:00:33.246)       0:00:34.389 *******",
                                "changed: [controller]",
                                "",
                                "TASK [Wait for test-password secret to be generated] ***************************",
                                "Friday 27 February 2026  14:20:29 +0000 (0:00:00.991)       0:00:35.380 *******",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 27 February 2026  14:20:30 +0000 (0:00:00.773)       0:00:36.154 *******",
                                "===============================================================================",
                                "Wait for secretgen-controller deployment to be available --------------- 33.25s",
                                "Gathering Facts --------------------------------------------------------- 1.13s",
                                "Create a test Password resource ----------------------------------------- 0.99s",
                                "Wait for test-password secret to be generated --------------------------- 0.77s",
                                "INFO     [secretgen-controller > verify] Executed: Successful",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0011-db6b-a00b-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:30.392415Z",
                            "start": "2026-02-27T14:16:27.678503Z"
                        },
                        "id": "0242ac17-0011-db6b-a00b-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-02-27T14:20:34.267243Z",
                    "start": "2026-02-27T14:20:31.119566Z"
                },
                "id": "0242ac17-0011-225f-449a-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-225f-449a-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:31.177074Z",
                            "start": "2026-02-27T14:20:31.131281Z"
                        },
                        "id": "0242ac17-0011-225f-449a-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-225f-449a-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:31.224775Z",
                            "start": "2026-02-27T14:20:31.184144Z"
                        },
                        "id": "0242ac17-0011-225f-449a-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/fe9d04ac641345469b71088c667ffe71/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-225f-449a-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:32.018176Z",
                            "start": "2026-02-27T14:20:31.229812Z"
                        },
                        "id": "0242ac17-0011-225f-449a-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@162.253.55.212:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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@162.253.55.212:/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/fe9d04ac641345469b71088c667ffe71/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@162.253.55.212:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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@162.253.55.212:/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/fe9d04ac641345469b71088c667ffe71/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@162.253.55.212:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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@162.253.55.212:/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/fe9d04ac641345469b71088c667ffe71/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-225f-449a-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:33.578801Z",
                            "start": "2026-02-27T14:20:32.028274Z"
                        },
                        "id": "0242ac17-0011-225f-449a-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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/artifacts/* /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.009739",
                                    "end": "2026-02-27 14:20:33.975388",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/artifacts/* /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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-02-27 14:20:33.965649",
                                    "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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/docs/* /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007925",
                                    "end": "2026-02-27 14:20:34.213482",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/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/fe9d04ac641345469b71088c667ffe71/work/docs/* /var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/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-02-27 14:20:34.205557",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-225f-449a-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:34.267243Z",
                            "start": "2026-02-27T14:20:33.591544Z"
                        },
                        "id": "0242ac17-0011-225f-449a-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-27T14:20:34.757947Z",
                    "start": "2026-02-27T14:20:34.279290Z"
                },
                "id": "0242ac17-0011-225f-449a-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQClwnhZeHdYG9UsSiUNivTtGFtlCH74B/T/GkVblibJTwRC+NuMC+GX9wwch/y+zRa9aj60Q9VfeZGFd5LgZxnOs9pPepaHYWU/OHAJ4wXZKNhlxEt5+4kbLjfPL5f9RqiATtUNqP8dK7J8V1O6JsNYl1XIBLJYSNmfBdNm298Scmln4OXzYo8ksnu24O9sDx9uP2zaYTRh6TYHGty7DVJV10MTZ9XGh7qTG9SDA1wE2aoRwYJWAg1I7XP7nyCgEfoIqWCYF7lolGHCmqg96pplBQ0JP1Y24a/M/8ooR62C1RdSAOuW1Sn3rXrREZK9q9ilL3vBwodEYYAI6aV6cp/py93ql5Qr3Jxc+WiXmRCUNNK4BvKJCp9m8b/8X2RQPE8+KPsCzKj/pJp+j/YL/OJVxv7c/e58B+CfIaE+T7Nrzywj9Y8B65uHjLCdYhocvlf6PivZZBbAL5sCMbAh9vhe5ZUabJkJY+zfnh8w9eySm5elqqBIQkPMUvcnxcmYO3c= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQClwnhZeHdYG9UsSiUNivTtGFtlCH74B/T/GkVblibJTwRC+NuMC+GX9wwch/y+zRa9aj60Q9VfeZGFd5LgZxnOs9pPepaHYWU/OHAJ4wXZKNhlxEt5+4kbLjfPL5f9RqiATtUNqP8dK7J8V1O6JsNYl1XIBLJYSNmfBdNm298Scmln4OXzYo8ksnu24O9sDx9uP2zaYTRh6TYHGty7DVJV10MTZ9XGh7qTG9SDA1wE2aoRwYJWAg1I7XP7nyCgEfoIqWCYF7lolGHCmqg96pplBQ0JP1Y24a/M/8ooR62C1RdSAOuW1Sn3rXrREZK9q9ilL3vBwodEYYAI6aV6cp/py93ql5Qr3Jxc+WiXmRCUNNK4BvKJCp9m8b/8X2RQPE8+KPsCzKj/pJp+j/YL/OJVxv7c/e58B+CfIaE+T7Nrzywj9Y8B65uHjLCdYhocvlf6PivZZBbAL5sCMbAh9vhe5ZUabJkJY+zfnh8w9eySm5elqqBIQkPMUvcnxcmYO3c= 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-225f-449a-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/fe9d04ac641345469b71088c667ffe71/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-27T14:20:34.757947Z",
                            "start": "2026-02-27T14:20:34.286658Z"
                        },
                        "id": "0242ac17-0011-225f-449a-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
}
]
