[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T21:52:57.420809Z",
                    "start": "2026-03-16T21:52:55.139497Z"
                },
                "id": "0242ac17-0011-6a1c-8bea-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-03-16",
                                    "day": "16",
                                    "epoch": "1773697975",
                                    "epoch_int": "1773697975",
                                    "hour": "21",
                                    "iso8601": "2026-03-16T21:52:55Z",
                                    "iso8601_basic": "20260316T215255707355",
                                    "iso8601_basic_short": "20260316T215255",
                                    "iso8601_micro": "2026-03-16T21:52:55.707355Z",
                                    "minute": "52",
                                    "month": "03",
                                    "second": "55",
                                    "time": "21:52:55",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "11",
                                    "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/b94740fa85074465acadda781f4e4082/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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": "100142",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-UDMDbFIDFE4m/agent.100141",
                                    "TMP": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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.52587890625,
                                    "1m": 3.986328125,
                                    "5m": 4.2939453125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4528,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 15219,
                                        "used": 16871
                                    },
                                    "real": {
                                        "free": 4528,
                                        "total": 32090,
                                        "used": 27562
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 221988722,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 41951995,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 63312850,
                                        "inode_total": 67108864,
                                        "inode_used": 3796014,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 909265805312,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9034346,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31567234,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16816990,
                                        "inode_total": 20643840,
                                        "inode_used": 3826850,
                                        "mount": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37004681216,
                                        "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": 37361705,
                                "ansible_user_dir": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work",
                                "ansible_user_gecos": "root",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "root",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 0,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "host",
                                "ansible_virtualization_tech_guest": [],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "kvm",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.012811Z",
                            "start": "2026-03-16T21:52:55.147443Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.039039Z",
                            "start": "2026-03-16T21:52:56.018238Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "b94/oss/b94740fa85074465acadda781f4e4082"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.082169Z",
                            "start": "2026-03-16T21:52:56.052117Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: atmosphere-molecule-aio-openvswitch\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3501\nEvent ID: 093a3230-2182-11f1-87f4-82737a752b16\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.131297Z",
                            "start": "2026-03-16T21:52:56.089740Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-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: instance\nHostname: np0000158914\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy-16\nProduct Name: OpenStack Nova\nInterface IP: 199.19.213.5\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.235629Z",
                            "start": "2026-03-16T21:52:56.136922Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:56.605579Z",
                            "start": "2026-03-16T21:52:56.246106Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "6efc1a69a9b99ea02b502c563140e595a3d53e5a",
                            "dest": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6efc1a69a9b99ea02b502c563140e595a3d53e5a",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/.ansible/tmp/ansible-tmp-1773697976.6432323-84-178121999889375/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1a9b56d10e62f05bdd72141f594150f6",
                            "mode": "0644",
                            "owner": "root",
                            "size": 40638,
                            "src": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/.ansible/tmp/ansible-tmp-1773697976.6432323-84-178121999889375/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:57.420809Z",
                            "start": "2026-03-16T21:52:56.613751Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T21:53:04.973875Z",
                    "start": "2026-03-16T21:52:57.431465Z"
                },
                "id": "0242ac17-0011-6a1c-8bea-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "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/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:57.840609Z",
                            "start": "2026-03-16T21:52:57.439775Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:57.885982Z",
                            "start": "2026-03-16T21:52:57.850426Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.667490",
                            "end": "2026-03-16 21:52:58.934146",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_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-6a1c-8bea-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 21:52:58.266656",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa.pub\nThe key fingerprint is:\nSHA256:2TTlcWSf2b8qDHWH3y//EyuFaDNj4WElcKwvxdgx4K0 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|         o+.o.+  |\n|        . oB = .+|\n|         .B.* .oo|\n|         *.X o ..|\n|        SEB = + o|\n|         o X . +o|\n|          * + ..+|\n|           o .oo.|\n|            ...o=|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:2TTlcWSf2b8qDHWH3y//EyuFaDNj4WElcKwvxdgx4K0 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|         o+.o.+  |",
                                "|        . oB = .+|",
                                "|         .B.* .oo|",
                                "|         *.X o ..|",
                                "|        SEB = + o|",
                                "|         o X . +o|",
                                "|          * + ..+|",
                                "|           o .oo.|",
                                "|            ...o=|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-6a1c-8bea-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:58.986952Z",
                            "start": "2026-03-16T21:52:57.904992Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:59.459680Z",
                            "start": "2026-03-16T21:52:58.992313Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:59.506532Z",
                            "start": "2026-03-16T21:52:59.482758Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC3LIyMVreGH3kxOsqjP4dTcSg448pmeqJndzh7Uahdafh3y8cjiy0AdiNKdftBT2K8olKk5rr0iztbjJ2vZp+6Dy01A7T7bQvJ1GfZ2x4Hmi7a8PAy/MH7YmlD8Qg3G/176dU9tgO6OZhIoxQJDhCtuuv5c0r3VQT/5lkLkIG9dwTrz4hQVO1R+jOSCnq+LPiCEGdpUSNwvnAfUnKzgHBwpIfXL21o9vCtfHSNyqLrstrguj3ePjVn7CSW5uxWoSLNyN/DUW/jigvEpOGz2ulwGxu6g1Ad/o+yfhkVrkxdaxOmieb3HbanaSeZXa13bEUaEsfIJLkxuj6aJpZxJ1wClxk+zvCILfkUs7h+Dk9Nb305r393xrqAA9FTISoyvkSgmogPYqDMLQuUKH6vudWX1RGc4K8p3sniynC/8Zr6cD0PmV8woUh7uSIAFT1EBxV4PZdb6q52TxfnfVg4KoUu/udEoYri/WM/n3vh/KjJ7OfibanDgh0uUosj2MuJbq0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC3LIyMVreGH3kxOsqjP4dTcSg448pmeqJndzh7Uahdafh3y8cjiy0AdiNKdftBT2K8olKk5rr0iztbjJ2vZp+6Dy01A7T7bQvJ1GfZ2x4Hmi7a8PAy/MH7YmlD8Qg3G/176dU9tgO6OZhIoxQJDhCtuuv5c0r3VQT/5lkLkIG9dwTrz4hQVO1R+jOSCnq+LPiCEGdpUSNwvnAfUnKzgHBwpIfXL21o9vCtfHSNyqLrstrguj3ePjVn7CSW5uxWoSLNyN/DUW/jigvEpOGz2ulwGxu6g1Ad/o+yfhkVrkxdaxOmieb3HbanaSeZXa13bEUaEsfIJLkxuj6aJpZxJ1wClxk+zvCILfkUs7h+Dk9Nb305r393xrqAA9FTISoyvkSgmogPYqDMLQuUKH6vudWX1RGc4K8p3sniynC/8Zr6cD0PmV8woUh7uSIAFT1EBxV4PZdb6q52TxfnfVg4KoUu/udEoYri/WM/n3vh/KjJ7OfibanDgh0uUosj2MuJbq0= 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-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:52:59.948548Z",
                            "start": "2026-03-16T21:52:59.515723Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:00.171525Z",
                            "start": "2026-03-16T21:52:59.954132Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "8676a036d71667968a864e3fe2dbe13d19b6fab1",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b94740fa85074465acadda781f4e4082_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "8676a036d71667968a864e3fe2dbe13d19b6fab1",
                                    "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-1773697980.2214732-190-222120631359995/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "caf1b4af25a602a2c2afe82503f02f0c",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773697980.2214732-190-222120631359995/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:00.650788Z",
                            "start": "2026-03-16T21:53:00.180418Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "d51d61ddebc86eed0b973ef48445f06942203280",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b94740fa85074465acadda781f4e4082_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "d51d61ddebc86eed0b973ef48445f06942203280",
                                    "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-1773697980.7020268-200-145119452873424/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "aa5a5aacc9541102119dc2335e45b5ce",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773697980.7020268-200-145119452873424/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:01.118861Z",
                            "start": "2026-03-16T21:53:00.657407Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:01.148853Z",
                            "start": "2026-03-16T21:53:01.123522Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:01.500399Z",
                            "start": "2026-03-16T21:53:01.160184Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa"
                            ],
                            "delta": "0:00:00.016209",
                            "end": "2026-03-16 21:53:01.791332",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_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-6a1c-8bea-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 21:53:01.775123",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/b94740fa85074465acadda781f4e4082_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-6a1c-8bea-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:01.846438Z",
                            "start": "2026-03-16T21:53:01.557173Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:02.108595Z",
                            "start": "2026-03-16T21:53:01.851560Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:02.140307Z",
                            "start": "2026-03-16T21:53:02.114807Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6a1c-8bea-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:02.431517Z",
                            "start": "2026-03-16T21:53:02.156239Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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-6a1c-8bea-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:03.927759Z",
                            "start": "2026-03-16T21:53:02.438065Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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-6a1c-8bea-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:04.455392Z",
                            "start": "2026-03-16T21:53:03.939493Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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-6a1c-8bea-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:04.973875Z",
                            "start": "2026-03-16T21:53:04.465794Z"
                        },
                        "id": "0242ac17-0011-6a1c-8bea-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T21:53:08.664383Z",
                    "start": "2026-03-16T21:53:05.864040Z"
                },
                "id": "0242ac17-0011-363a-1145-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "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-1773697985.9142118-5-167690996600964/uv-x86_64-unknown-linux-gnu1cmzf57g.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-1773697985.9142118-5-167690996600964/uv-x86_64-unknown-linux-gnu1cmzf57g.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-363a-1145-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:08.119559Z",
                            "start": "2026-03-16T21:53:05.878989Z"
                        },
                        "id": "0242ac17-0011-363a-1145-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.013726",
                            "end": "2026-03-16 21:53:08.474071",
                            "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-363a-1145-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 21:53:08.460345",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-363a-1145-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-363a-1145-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:08.664383Z",
                            "start": "2026-03-16T21:53:08.146390Z"
                        },
                        "id": "0242ac17-0011-363a-1145-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T21:53:18.243276Z",
                    "start": "2026-03-16T21:53:09.398400Z"
                },
                "id": "0242ac17-0011-d9ef-e4e0-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1773697994,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 17 not upgraded.\nNeed to get 357 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]\nFetched 357 kB in 1s (558 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 30908 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.1) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSetting up jq (1.6-2.1ubuntu3.1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 17 not upgraded.",
                                "Need to get 357 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]",
                                "Fetched 357 kB in 1s (558 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 30908 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.1) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Setting up jq (1.6-2.1ubuntu3.1) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:18.243276Z",
                            "start": "2026-03-16T21:53:09.409868Z"
                        },
                        "id": "0242ac17-0011-d9ef-e4e0-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T22:01:20.094241Z",
                    "start": "2026-03-16T21:53:19.105551Z"
                },
                "id": "0242ac17-0011-e182-a667-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "6efc1a69a9b99ea02b502c563140e595a3d53e5a",
                            "dest": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6efc1a69a9b99ea02b502c563140e595a3d53e5a",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere",
                                    "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-1773697999.1597555-5-164227383504193/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1a9b56d10e62f05bdd72141f594150f6",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 40638,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773697999.1597555-5-164227383504193/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:20.231423Z",
                            "start": "2026-03-16T21:53:19.124850Z"
                        },
                        "id": "0242ac17-0011-e182-a667-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T21:53:20.538708Z",
                            "start": "2026-03-16T21:53:20.243670Z"
                        },
                        "id": "0242ac17-0011-e182-a667-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "aio"
                            ],
                            "delta": "0:07:59.044721",
                            "end": "2026-03-16 22:01:19.898404",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s aio",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "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-e182-a667-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-03-16 21:53:20.853683",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.10.12 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\n   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nDownloading pygments (1.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading netaddr (2.2MiB)\nDownloading kubernetes (1.9MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading cryptography (4.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading ansible-core (2.1MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 37ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [aio > prerun] Performing prerun with role_name_check=0...\nINFO     [aio > dependency] Executing\nWARNING  [aio > dependency] Missing roles requirements file: requirements.yml\nWARNING  [aio > dependency] Missing collections requirements file: collections.yml\nWARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [aio > cleanup] Executing\nWARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > destroy] Executing\nWARNING  [aio > destroy] Skipping, '--destroy=never' requested.\nINFO     [aio > destroy] Executed: Successful\nINFO     [aio > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nINFO     [aio > syntax] Executed: Successful\nINFO     [aio > create] Executing\nWARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:54:12 +0000 (0:00:00.027)       0:00:00.027 **********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nMonday 16 March 2026  21:54:13 +0000 (0:00:01.081)       0:00:01.108 **********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nMonday 16 March 2026  21:54:13 +0000 (0:00:00.662)       0:00:01.771 **********\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Install \"dirmngr\" for GPG keyserver operations] **************************\nMonday 16 March 2026  21:54:14 +0000 (0:00:00.264)       0:00:02.035 **********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nMonday 16 March 2026  21:54:15 +0000 (0:00:01.210)       0:00:03.245 **********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nMonday 16 March 2026  21:54:16 +0000 (0:00:00.761)       0:00:04.007 **********\nchanged: [localhost] => (item=group_vars)\nchanged: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nchanged: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nMonday 16 March 2026  21:54:17 +0000 (0:00:01.031)       0:00:05.039 **********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nMonday 16 March 2026  21:54:17 +0000 (0:00:00.171)       0:00:05.210 **********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nMonday 16 March 2026  21:54:17 +0000 (0:00:00.027)       0:00:05.237 **********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': '7882dceb-ed9e-5415-87e7-74578d769be1'})\nok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})\n\nTASK [Write new Ceph control plane configuration file to disk] *****************\nMonday 16 March 2026  21:54:17 +0000 (0:00:00.045)       0:00:05.283 **********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nMonday 16 March 2026  21:54:17 +0000 (0:00:00.551)       0:00:05.835 **********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.178)       0:00:06.013 **********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.023)       0:00:06.037 **********\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.025)       0:00:06.063 **********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.341)       0:00:06.405 **********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.167)       0:00:06.572 **********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.026)       0:00:06.598 **********\nok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})\n\nTASK [Write new Kubernetes configuration file to disk] *************************\nMonday 16 March 2026  21:54:18 +0000 (0:00:00.038)       0:00:06.637 **********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nMonday 16 March 2026  21:54:19 +0000 (0:00:00.348)       0:00:06.985 **********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nMonday 16 March 2026  21:54:19 +0000 (0:00:00.163)       0:00:07.149 **********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nMonday 16 March 2026  21:54:19 +0000 (0:00:00.023)       0:00:07.173 **********\nok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})\nok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})\n\nTASK [Write new Keepalived configuration file to disk] *************************\nMonday 16 March 2026  21:54:19 +0000 (0:00:00.034)       0:00:07.208 **********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:54:19 +0000 (0:00:00.335)       0:00:07.543 **********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nMonday 16 March 2026  21:54:20 +0000 (0:00:00.650)       0:00:08.193 **********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nMonday 16 March 2026  21:54:20 +0000 (0:00:00.169)       0:00:08.363 **********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nMonday 16 March 2026  21:54:20 +0000 (0:00:00.028)       0:00:08.392 **********\nok: [localhost] => (item=keycloak_host)\nok: [localhost] => (item=kube_prometheus_stack_grafana_host)\nok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)\nok: [localhost] => (item=kube_prometheus_stack_prometheus_host)\nok: [localhost] => (item=openstack_helm_endpoints_region_name)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_host)\nok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)\n\nTASK [Write new endpoints file to disk] ****************************************\nMonday 16 March 2026  21:54:21 +0000 (0:00:00.789)       0:00:09.181 **********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nMonday 16 March 2026  21:54:21 +0000 (0:00:00.330)       0:00:09.511 **********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nMonday 16 March 2026  21:54:21 +0000 (0:00:00.172)       0:00:09.684 **********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.183)       0:00:09.867 **********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.028)       0:00:09.895 **********\nok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})\n\nTASK [Write new Neutron configuration file to disk] ****************************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.039)       0:00:09.935 **********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.353)       0:00:10.289 **********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.172)       0:00:10.461 **********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.030)       0:00:10.491 **********\nok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})\n\nTASK [Write new Nova configuration file to disk] *******************************\nMonday 16 March 2026  21:54:22 +0000 (0:00:00.041)       0:00:10.533 **********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nMonday 16 March 2026  21:54:23 +0000 (0:00:00.339)       0:00:10.873 **********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nMonday 16 March 2026  21:54:23 +0000 (0:00:00.169)       0:00:11.042 **********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nMonday 16 March 2026  21:54:23 +0000 (0:00:00.030)       0:00:11.073 **********\nok: [localhost] => (item=heat_auth_encryption_key)\nok: [localhost] => (item=keepalived_password)\nok: [localhost] => (item=keycloak_admin_password)\nok: [localhost] => (item=keycloak_database_password)\nok: [localhost] => (item=keystone_keycloak_client_secret)\nok: [localhost] => (item=keystone_oidc_crypto_passphrase)\nok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)\nok: [localhost] => (item=octavia_heartbeat_key)\nok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)\nok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)\n\nTASK [Generate base64 encoded secrets] *****************************************\nMonday 16 March 2026  21:54:23 +0000 (0:00:00.408)       0:00:11.481 **********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nMonday 16 March 2026  21:54:23 +0000 (0:00:00.051)       0:00:11.533 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nMonday 16 March 2026  21:54:24 +0000 (0:00:00.386)       0:00:11.920 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nMonday 16 March 2026  21:54:28 +0000 (0:00:04.641)       0:00:16.562 **********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nMonday 16 March 2026  21:54:28 +0000 (0:00:00.054)       0:00:16.616 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nMonday 16 March 2026  21:54:29 +0000 (0:00:00.324)       0:00:16.941 **********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nMonday 16 March 2026  21:54:29 +0000 (0:00:00.354)       0:00:17.295 **********\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:54:29 +0000 (0:00:00.035)       0:00:17.331 **********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nMonday 16 March 2026  21:54:30 +0000 (0:00:00.703)       0:00:18.034 **********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nMonday 16 March 2026  21:54:30 +0000 (0:00:00.321)       0:00:18.356 **********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nMonday 16 March 2026  21:54:30 +0000 (0:00:00.211)       0:00:18.567 **********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nMonday 16 March 2026  21:54:30 +0000 (0:00:00.191)       0:00:18.759 **********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nMonday 16 March 2026  21:54:31 +0000 (0:00:00.190)       0:00:18.949 **********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:54:31 +0000 (0:00:00.367)       0:00:19.317 **********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nMonday 16 March 2026  21:54:32 +0000 (0:00:00.717)       0:00:20.034 **********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nMonday 16 March 2026  21:54:51 +0000 (0:00:19.523)       0:00:39.558 **********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nMonday 16 March 2026  21:54:52 +0000 (0:00:00.577)       0:00:40.135 **********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nMonday 16 March 2026  21:54:52 +0000 (0:00:00.222)       0:00:40.358 **********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nMonday 16 March 2026  21:54:52 +0000 (0:00:00.439)       0:00:40.798 **********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nMonday 16 March 2026  21:54:53 +0000 (0:00:00.199)       0:00:40.997 **********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nMonday 16 March 2026  21:54:53 +0000 (0:00:00.025)       0:00:41.022 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nMonday 16 March 2026  21:54:53 +0000 (0:00:00.536)       0:00:41.559 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nMonday 16 March 2026  21:54:54 +0000 (0:00:00.531)       0:00:42.091 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nMonday 16 March 2026  21:54:54 +0000 (0:00:00.717)       0:00:42.808 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nMonday 16 March 2026  21:54:57 +0000 (0:00:02.960)       0:00:45.768 **********\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY [controllers] *************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:54:59 +0000 (0:00:01.897)       0:00:47.666 **********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nMonday 16 March 2026  21:55:00 +0000 (0:00:00.910)       0:00:48.577 **********\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\nlocalhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nMonday 16 March 2026  21:55:01 +0000 (0:00:00.436)       0:00:49.013 **********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 19.52s\nGenerate SSH keys for missing variables --------------------------------- 4.64s\nCreate a volume group for each loop device ------------------------------ 2.96s\nCreate a logical volume for each loop device ---------------------------- 1.90s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.21s\nGathering Facts --------------------------------------------------------- 1.08s\nCreate folders for workspace -------------------------------------------- 1.03s\nGathering Facts --------------------------------------------------------- 0.91s\nGenerate endpoint skeleton for missing variables ------------------------ 0.79s\nPurge \"snapd\" package --------------------------------------------------- 0.76s\nGathering Facts --------------------------------------------------------- 0.72s\nStart loop devices ------------------------------------------------------ 0.72s\nGathering Facts --------------------------------------------------------- 0.70s\nConfigure short hostname ------------------------------------------------ 0.66s\nGathering Facts --------------------------------------------------------- 0.65s\nStart up service -------------------------------------------------------- 0.58s\nWrite new Ceph control plane configuration file to disk ----------------- 0.55s\nCreate devices for Ceph ------------------------------------------------- 0.54s\nSet permissions on loopback devices ------------------------------------- 0.53s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.44s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:55:03 +0000 (0:00:00.016)       0:00:00.016 **********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Fail if atmosphere_ceph_enabled is set] **********************************\nMonday 16 March 2026  21:55:05 +0000 (0:00:01.153)       0:00:01.170 **********\nskipping: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 16 March 2026  21:55:05 +0000 (0:00:00.044)       0:00:01.214 **********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:55:05 +0000 (0:00:00.189)       0:00:01.404 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:55:06 +0000 (0:00:00.869)       0:00:02.273 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:55:06 +0000 (0:00:00.282)       0:00:02.556 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 March 2026  21:55:06 +0000 (0:00:00.043)       0:00:02.599 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:55:06 +0000 (0:00:00.285)       0:00:02.884 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  21:55:06 +0000 (0:00:00.070)       0:00:02.955 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:55:08 +0000 (0:00:01.144)       0:00:04.100 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:55:08 +0000 (0:00:00.048)       0:00:04.148 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:55:08 +0000 (0:00:00.053)       0:00:04.201 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:55:08 +0000 (0:00:00.211)       0:00:04.413 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:55:09 +0000 (0:00:01.156)       0:00:05.569 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  21:55:09 +0000 (0:00:00.069)       0:00:05.639 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:55:10 +0000 (0:00:00.820)       0:00:06.460 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 March 2026  21:55:13 +0000 (0:00:02.846)       0:00:09.306 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 March 2026  21:55:13 +0000 (0:00:00.037)       0:00:09.344 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 March 2026  21:55:13 +0000 (0:00:00.037)       0:00:09.381 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 March 2026  21:55:13 +0000 (0:00:00.030)       0:00:09.411 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 March 2026  21:55:17 +0000 (0:00:04.541)       0:00:13.953 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 March 2026  21:55:18 +0000 (0:00:00.592)       0:00:14.545 **********\nchanged: [instance] => (item={'path': '/etc/containerd'})\nchanged: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 16 March 2026  21:55:19 +0000 (0:00:00.872)       0:00:15.418 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 March 2026  21:55:19 +0000 (0:00:00.535)       0:00:15.953 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 16 March 2026  21:55:19 +0000 (0:00:00.008)       0:00:15.962 **********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nMonday 16 March 2026  21:55:20 +0000 (0:00:00.946)       0:00:16.908 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 March 2026  21:55:21 +0000 (0:00:00.450)       0:00:17.359 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:55:21 +0000 (0:00:00.523)       0:00:17.882 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:55:22 +0000 (0:00:00.207)       0:00:18.090 **********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  21:55:22 +0000 (0:00:00.051)       0:00:18.141 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:55:23 +0000 (0:00:01.336)       0:00:19.478 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 16 March 2026  21:55:27 +0000 (0:00:04.293)       0:00:23.771 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 16 March 2026  21:55:28 +0000 (0:00:00.901)       0:00:24.672 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 16 March 2026  21:55:29 +0000 (0:00:00.372)       0:00:25.044 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 16 March 2026  21:55:29 +0000 (0:00:00.446)       0:00:25.491 **********\nchanged: [instance] => (item={'path': '/etc/docker'})\nchanged: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nchanged: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nMonday 16 March 2026  21:55:29 +0000 (0:00:00.534)       0:00:26.025 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 16 March 2026  21:55:30 +0000 (0:00:00.449)       0:00:26.474 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 16 March 2026  21:55:30 +0000 (0:00:00.442)       0:00:26.917 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 16 March 2026  21:55:30 +0000 (0:00:00.008)       0:00:26.925 **********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nMonday 16 March 2026  21:55:31 +0000 (0:00:00.682)       0:00:27.607 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 16 March 2026  21:55:32 +0000 (0:00:01.038)       0:00:28.646 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 16 March 2026  21:55:33 +0000 (0:00:00.528)       0:00:29.175 **********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nMonday 16 March 2026  21:55:33 +0000 (0:00:00.054)       0:00:29.229 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 16 March 2026  21:55:37 +0000 (0:00:04.614)       0:00:33.844 **********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 16 March 2026  21:55:38 +0000 (0:00:00.637)       0:00:34.481 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 16 March 2026  21:55:38 +0000 (0:00:00.300)       0:00:34.782 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 16 March 2026  21:55:38 +0000 (0:00:00.195)       0:00:34.977 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 16 March 2026  21:55:39 +0000 (0:00:00.455)       0:00:35.433 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nMonday 16 March 2026  21:55:39 +0000 (0:00:00.352)       0:00:35.785 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nMonday 16 March 2026  21:55:41 +0000 (0:00:01.644)       0:00:37.430 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.051)       0:00:37.481 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.040)       0:00:37.521 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.038)       0:00:37.560 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.039)       0:00:37.600 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.041)       0:00:37.641 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.035)       0:00:37.677 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.040)       0:00:37.717 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.041)       0:00:37.759 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nMonday 16 March 2026  21:55:41 +0000 (0:00:00.109)       0:00:37.868 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nMonday 16 March 2026  21:55:42 +0000 (0:00:00.212)       0:00:38.081 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nMonday 16 March 2026  21:55:42 +0000 (0:00:00.049)       0:00:38.131 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\n\nTASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\nMonday 16 March 2026  21:55:42 +0000 (0:00:00.072)       0:00:38.203 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nMonday 16 March 2026  21:55:42 +0000 (0:00:00.326)       0:00:38.529 **********\nchanged: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\nchanged: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\nchanged: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\nMonday 16 March 2026  21:55:43 +0000 (0:00:00.665)       0:00:39.195 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nMonday 16 March 2026  21:57:42 +0000 (0:01:59.570)       0:02:38.765 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nMonday 16 March 2026  21:57:42 +0000 (0:00:00.200)       0:02:38.966 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 March 2026  21:57:42 +0000 (0:00:00.045)       0:02:39.012 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 March 2026  21:57:43 +0000 (0:00:00.075)       0:02:39.087 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 March 2026  21:57:44 +0000 (0:00:01.497)       0:02:40.584 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 March 2026  21:57:44 +0000 (0:00:00.055)       0:02:40.640 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 March 2026  21:57:45 +0000 (0:00:00.406)       0:02:41.046 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nMonday 16 March 2026  21:57:46 +0000 (0:00:01.912)       0:02:42.959 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nMonday 16 March 2026  21:57:48 +0000 (0:00:01.614)       0:02:44.573 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 March 2026  21:57:58 +0000 (0:00:10.201)       0:02:54.774 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 March 2026  21:57:58 +0000 (0:00:00.076)       0:02:54.851 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 March 2026  21:57:58 +0000 (0:00:00.048)       0:02:54.900 **********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 March 2026  21:57:58 +0000 (0:00:00.053)       0:02:54.953 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 March 2026  21:57:59 +0000 (0:00:00.256)       0:02:55.210 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nMonday 16 March 2026  21:58:01 +0000 (0:00:01.908)       0:02:57.119 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nMonday 16 March 2026  21:58:02 +0000 (0:00:01.590)       0:02:58.709 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nMonday 16 March 2026  21:58:04 +0000 (0:00:01.547)       0:03:00.257 **********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  21:58:05 +0000 (0:00:01.707)       0:03:01.965 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:58:06 +0000 (0:00:00.918)       0:03:02.884 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.206)       0:03:03.090 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.040)       0:03:03.130 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.216)       0:03:03.347 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.053)       0:03:03.400 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.309)       0:03:03.709 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.047)       0:03:03.757 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.050)       0:03:03.807 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  21:58:07 +0000 (0:00:00.201)       0:03:04.009 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:58:08 +0000 (0:00:00.937)       0:03:04.946 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  21:58:08 +0000 (0:00:00.068)       0:03:05.015 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:58:09 +0000 (0:00:00.371)       0:03:05.386 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 March 2026  21:58:11 +0000 (0:00:01.911)       0:03:07.298 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.331 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.363 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.395 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 March 2026  21:58:12 +0000 (0:00:00.999)       0:03:08.395 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 March 2026  21:58:12 +0000 (0:00:00.409)       0:03:08.805 **********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 16 March 2026  21:58:13 +0000 (0:00:00.857)       0:03:09.663 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 March 2026  21:58:14 +0000 (0:00:00.458)       0:03:10.121 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 March 2026  21:58:14 +0000 (0:00:00.006)       0:03:10.128 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  21:58:14 +0000 (0:00:00.344)       0:03:10.473 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  21:58:14 +0000 (0:00:00.198)       0:03:10.672 **********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  21:58:14 +0000 (0:00:00.053)       0:03:10.725 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  21:58:15 +0000 (0:00:00.332)       0:03:11.057 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 16 March 2026  21:58:18 +0000 (0:00:02.998)       0:03:14.056 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 16 March 2026  21:58:19 +0000 (0:00:00.993)       0:03:15.050 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 16 March 2026  21:58:19 +0000 (0:00:00.188)       0:03:15.238 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 16 March 2026  21:58:19 +0000 (0:00:00.422)       0:03:15.661 **********\nok: [instance] => (item={'path': '/etc/docker'})\nok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nMonday 16 March 2026  21:58:20 +0000 (0:00:00.527)       0:03:16.189 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 16 March 2026  21:58:20 +0000 (0:00:00.412)       0:03:16.601 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 16 March 2026  21:58:20 +0000 (0:00:00.394)       0:03:16.996 **********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 16 March 2026  21:58:20 +0000 (0:00:00.008)       0:03:17.005 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 16 March 2026  21:58:21 +0000 (0:00:00.335)       0:03:17.340 **********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nMonday 16 March 2026  21:58:21 +0000 (0:00:00.057)       0:03:17.397 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 16 March 2026  21:58:22 +0000 (0:00:00.958)       0:03:18.356 **********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 16 March 2026  21:58:22 +0000 (0:00:00.642)       0:03:18.998 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 16 March 2026  21:58:23 +0000 (0:00:00.276)       0:03:19.274 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 16 March 2026  21:58:23 +0000 (0:00:00.210)       0:03:19.485 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 16 March 2026  21:58:23 +0000 (0:00:00.226)       0:03:19.712 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nMonday 16 March 2026  21:58:23 +0000 (0:00:00.199)       0:03:19.912 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nMonday 16 March 2026  21:58:24 +0000 (0:00:00.225)       0:03:20.137 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nMonday 16 March 2026  21:58:24 +0000 (0:00:00.043)       0:03:20.181 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nMonday 16 March 2026  21:58:28 +0000 (0:00:04.703)       0:03:24.884 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 March 2026  21:58:28 +0000 (0:00:00.044)       0:03:24.929 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 March 2026  21:58:28 +0000 (0:00:00.063)       0:03:24.992 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 March 2026  21:58:29 +0000 (0:00:00.040)       0:03:25.032 **********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 March 2026  21:58:29 +0000 (0:00:00.044)       0:03:25.077 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 March 2026  21:58:29 +0000 (0:00:00.257)       0:03:25.335 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nMonday 16 March 2026  21:58:31 +0000 (0:00:01.960)       0:03:27.296 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nMonday 16 March 2026  21:58:31 +0000 (0:00:00.026)       0:03:27.322 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nMonday 16 March 2026  21:58:31 +0000 (0:00:00.032)       0:03:27.354 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nMonday 16 March 2026  21:58:36 +0000 (0:00:05.314)       0:03:32.669 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nMonday 16 March 2026  21:58:46 +0000 (0:00:10.299)       0:03:42.968 **********\nok: [instance] => (item=/dev/ceph-instance-osd0/data)\nok: [instance] => (item=/dev/ceph-instance-osd1/data)\nok: [instance] => (item=/dev/ceph-instance-osd2/data)\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nMonday 16 March 2026  22:00:11 +0000 (0:01:24.814)       0:05:07.782 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nMonday 16 March 2026  22:00:13 +0000 (0:00:01.607)       0:05:09.390 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nMonday 16 March 2026  22:00:14 +0000 (0:00:01.517)       0:05:10.907 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nMonday 16 March 2026  22:00:14 +0000 (0:00:00.061)       0:05:10.969 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nMonday 16 March 2026  22:00:14 +0000 (0:00:00.048)       0:05:11.017 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nMonday 16 March 2026  22:00:16 +0000 (0:00:01.646)       0:05:12.663 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nMonday 16 March 2026  22:00:16 +0000 (0:00:00.044)       0:05:12.707 **********\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nMonday 16 March 2026  22:00:16 +0000 (0:00:00.053)       0:05:12.761 **********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nMonday 16 March 2026  22:00:16 +0000 (0:00:00.181)       0:05:12.943 **********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  22:00:17 +0000 (0:00:00.320)       0:05:13.263 **********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nMonday 16 March 2026  22:00:18 +0000 (0:00:00.899)       0:05:14.163 **********\nchanged: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\nchanged: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\nchanged: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\nchanged: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\n\nTASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\nMonday 16 March 2026  22:00:21 +0000 (0:00:03.615)       0:05:17.779 **********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nMonday 16 March 2026  22:00:21 +0000 (0:00:00.191)       0:05:17.970 **********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nMonday 16 March 2026  22:00:22 +0000 (0:00:00.425)       0:05:18.396 **********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 16 March 2026  22:00:22 +0000 (0:00:00.242)       0:05:18.638 **********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  22:00:22 +0000 (0:00:00.045)       0:05:18.684 **********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nMonday 16 March 2026  22:00:23 +0000 (0:00:00.911)       0:05:19.596 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nMonday 16 March 2026  22:00:23 +0000 (0:00:00.200)       0:05:19.796 **********\nok: [instance] => (item=/etc/keepalived/keepalived.conf)\nok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\nok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [instance] => (item=/etc/haproxy/haproxy.cfg)\nok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nMonday 16 March 2026  22:00:24 +0000 (0:00:00.862)       0:05:20.658 **********\nfailed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\nfailed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\nfailed: [instance] (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] *********\nMonday 16 March 2026  22:00:25 +0000 (0:00:00.512)       0:05:21.170 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nMonday 16 March 2026  22:00:25 +0000 (0:00:00.183)       0:05:21.354 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nMonday 16 March 2026  22:00:25 +0000 (0:00:00.180)       0:05:21.535 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nMonday 16 March 2026  22:00:25 +0000 (0:00:00.033)       0:05:21.569 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nMonday 16 March 2026  22:00:25 +0000 (0:00:00.039)       0:05:21.608 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nMonday 16 March 2026  22:00:26 +0000 (0:00:00.494)       0:05:22.102 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nMonday 16 March 2026  22:00:26 +0000 (0:00:00.186)       0:05:22.289 **********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 March 2026  22:00:26 +0000 (0:00:00.056)       0:05:22.346 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:27 +0000 (0:00:00.885)       0:05:23.231 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  22:00:27 +0000 (0:00:00.212)       0:05:23.443 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 March 2026  22:00:27 +0000 (0:00:00.042)       0:05:23.486 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:27 +0000 (0:00:00.210)       0:05:23.697 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  22:00:27 +0000 (0:00:00.054)       0:05:23.752 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:28 +0000 (0:00:00.288)       0:05:24.040 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:28 +0000 (0:00:00.043)       0:05:24.084 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 March 2026  22:00:28 +0000 (0:00:00.198)       0:05:24.282 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:29 +0000 (0:00:00.974)       0:05:25.257 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  22:00:29 +0000 (0:00:00.067)       0:05:25.325 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:29 +0000 (0:00:00.323)       0:05:25.648 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 March 2026  22:00:31 +0000 (0:00:01.904)       0:05:27.552 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 March 2026  22:00:31 +0000 (0:00:00.034)       0:05:27.587 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 March 2026  22:00:31 +0000 (0:00:00.035)       0:05:27.623 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 March 2026  22:00:31 +0000 (0:00:00.036)       0:05:27.660 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 March 2026  22:00:32 +0000 (0:00:00.962)       0:05:28.622 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 March 2026  22:00:33 +0000 (0:00:00.421)       0:05:29.043 **********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 16 March 2026  22:00:33 +0000 (0:00:00.885)       0:05:29.929 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 March 2026  22:00:34 +0000 (0:00:00.480)       0:05:30.410 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 March 2026  22:00:34 +0000 (0:00:00.009)       0:05:30.419 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nMonday 16 March 2026  22:00:34 +0000 (0:00:00.366)       0:05:30.786 **********\nfatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. 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] ***\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.579)       0:05:31.366 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.033)       0:05:31.399 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.035)       0:05:31.434 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.037)       0:05:31.472 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.035)       0:05:31.507 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.046)       0:05:31.554 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.207)       0:05:31.761 **********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  22:00:35 +0000 (0:00:00.047)       0:05:31.809 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:37 +0000 (0:00:02.131)       0:05:33.940 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:37 +0000 (0:00:00.043)       0:05:33.984 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:38 +0000 (0:00:00.199)       0:05:34.183 **********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  22:00:38 +0000 (0:00:00.040)       0:05:34.224 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:46 +0000 (0:00:08.517)       0:05:42.741 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 March 2026  22:00:46 +0000 (0:00:00.054)       0:05:42.796 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 March 2026  22:00:46 +0000 (0:00:00.028)       0:05:42.824 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 March 2026  22:00:46 +0000 (0:00:00.031)       0:05:42.855 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 March 2026  22:00:46 +0000 (0:00:00.038)       0:05:42.893 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 March 2026  22:00:47 +0000 (0:00:00.892)       0:05:43.786 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 March 2026  22:00:48 +0000 (0:00:00.410)       0:05:44.197 **********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nMonday 16 March 2026  22:00:49 +0000 (0:00:00.871)       0:05:45.069 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 March 2026  22:00:49 +0000 (0:00:00.492)       0:05:45.561 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 March 2026  22:00:49 +0000 (0:00:00.009)       0:05:45.571 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:49 +0000 (0:00:00.333)       0:05:45.904 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:50 +0000 (0:00:00.200)       0:05:46.105 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  22:00:50 +0000 (0:00:00.052)       0:05:46.158 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:51 +0000 (0:00:01.710)       0:05:47.868 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:53 +0000 (0:00:01.336)       0:05:49.204 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  22:00:53 +0000 (0:00:00.052)       0:05:49.257 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:53 +0000 (0:00:00.599)       0:05:49.856 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nMonday 16 March 2026  22:00:55 +0000 (0:00:01.340)       0:05:51.197 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nMonday 16 March 2026  22:00:55 +0000 (0:00:00.451)       0:05:51.648 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:00:55 +0000 (0:00:00.203)       0:05:51.851 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:00:56 +0000 (0:00:00.202)       0:05:52.053 **********\nok: [instance] => {\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] *******************\nMonday 16 March 2026  22:00:56 +0000 (0:00:00.057)       0:05:52.111 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:00:58 +0000 (0:00:01.952)       0:05:54.064 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nMonday 16 March 2026  22:01:00 +0000 (0:00:02.604)       0:05:56.668 **********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n\nTASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\nMonday 16 March 2026  22:01:00 +0000 (0:00:00.054)       0:05:56.722 **********\nok: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nMonday 16 March 2026  22:01:01 +0000 (0:00:00.943)       0:05:57.666 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nMonday 16 March 2026  22:01:01 +0000 (0:00:00.190)       0:05:57.856 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nMonday 16 March 2026  22:01:02 +0000 (0:00:00.438)       0:05:58.294 **********\nchanged: [instance] => (item=br_netfilter)\nok: [instance] => (item=ip_tables)\nchanged: [instance] => (item=ip6_tables)\nok: [instance] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 March 2026  22:01:02 +0000 (0:00:00.697)       0:05:58.991 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 March 2026  22:01:03 +0000 (0:00:00.195)       0:05:59.187 **********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 March 2026  22:01:03 +0000 (0:00:00.045)       0:05:59.232 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 March 2026  22:01:05 +0000 (0:00:02.775)       0:06:02.008 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nMonday 16 March 2026  22:01:06 +0000 (0:00:00.038)       0:06:02.046 **********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nMonday 16 March 2026  22:01:06 +0000 (0:00:00.055)       0:06:02.102 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nMonday 16 March 2026  22:01:06 +0000 (0:00:00.034)       0:06:02.136 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nMonday 16 March 2026  22:01:08 +0000 (0:00:02.768)       0:06:04.905 **********\nchanged: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\nchanged: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\nchanged: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\nchanged: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\nchanged: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\nchanged: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n\nTASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\nMonday 16 March 2026  22:01:10 +0000 (0:00:01.212)       0:06:06.117 **********\nchanged: [instance] => (item=/etc/systemd/system/kubelet.service.d)\nok: [instance] => (item=/etc/kubernetes)\nok: [instance] => (item=/etc/kubernetes/manifests)\n\nTASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\nMonday 16 March 2026  22:01:10 +0000 (0:00:00.528)       0:06:06.646 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nMonday 16 March 2026  22:01:11 +0000 (0:00:00.430)       0:06:07.077 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nMonday 16 March 2026  22:01:11 +0000 (0:00:00.443)       0:06:07.520 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nMonday 16 March 2026  22:01:11 +0000 (0:00:00.190)       0:06:07.710 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nMonday 16 March 2026  22:01:11 +0000 (0:00:00.031)       0:06:07.741 **********\nok: [instance] => (item=swap)\nok: [instance] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nMonday 16 March 2026  22:01:12 +0000 (0:00:00.503)       0:06:08.244 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nMonday 16 March 2026  22:01:12 +0000 (0:00:00.434)       0:06:08.678 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nMonday 16 March 2026  22:01:13 +0000 (0:00:00.567)       0:06:09.246 **********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nMonday 16 March 2026  22:01:13 +0000 (0:00:00.008)       0:06:09.254 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nMonday 16 March 2026  22:01:13 +0000 (0:00:00.731)       0:06:09.986 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nMonday 16 March 2026  22:01:14 +0000 (0:00:00.563)       0:06:10.549 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nMonday 16 March 2026  22:01:15 +0000 (0:00:00.934)       0:06:11.483 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nMonday 16 March 2026  22:01:16 +0000 (0:00:00.718)       0:06:12.202 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nMonday 16 March 2026  22:01:16 +0000 (0:00:00.191)       0:06:12.394 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nMonday 16 March 2026  22:01:16 +0000 (0:00:00.488)       0:06:12.882 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nMonday 16 March 2026  22:01:16 +0000 (0:00:00.081)       0:06:12.964 **********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.072)       0:06:13.036 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.190)       0:06:13.227 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.040)       0:06:13.267 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.048)       0:06:13.316 **********\nok: [instance] => {\n    \"msg\": \"instance\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.039)       0:06:13.355 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.508)       0:06:13.864 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.035)       0:06:13.899 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.035)       0:06:13.934 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.027)       0:06:13.962 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nMonday 16 March 2026  22:01:17 +0000 (0:00:00.031)       0:06:13.993 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nMonday 16 March 2026  22:01:18 +0000 (0:00:00.036)       0:06:14.030 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nMonday 16 March 2026  22:01:18 +0000 (0:00:00.032)       0:06:14.063 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nMonday 16 March 2026  22:01:18 +0000 (0:00:00.038)       0:06:14.101 **********\nfatal: [instance]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:00:01.404647\", \"end\": \"2026-03-16 22:01:19.632841\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-03-16 22:01:18.228194\", \"stderr\": \"W0316 22:01:18.260600   39122 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase preflight: [preflight] Some fatal errors occurred:\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0316 22:01:18.554729   39245 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0316 22:01:18.719143   39325 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0316 22:01:18.881081   39406 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0316 22:01:19.057461   39497 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0316 22:01:19.259090   39597 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0316 22:01:19.440714   39679 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0316 22:01:19.626096   39758 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0316 22:01:18.260600   39122 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase preflight: [preflight] Some fatal errors occurred:\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0316 22:01:18.554729   39245 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0316 22:01:18.719143   39325 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0316 22:01:18.881081   39406 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0316 22:01:19.057461   39497 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0316 22:01:19.259090   39597 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0316 22:01:19.440714   39679 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0316 22:01:19.626096   39758 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\"]}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2\n\nMonday 16 March 2026  22:01:19 +0000 (0:00:01.588)       0:06:15.689 **********\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 119.57s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 84.81s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.30s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.20s\nvexxhost.containers.download_artifact : Download item ------------------- 8.52s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.31s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.70s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.61s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 4.54s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.29s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.62s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.00s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.85s\nvexxhost.containers.download_artifact : Download item ------------------- 2.78s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 2.77s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.60s\nvexxhost.containers.download_artifact : Download item ------------------- 2.13s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.96s\nvexxhost.containers.download_artifact : Download item ------------------- 1.95s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.91s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                            "stdout_lines": [
                                "Using CPython 3.10.12 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Downloading pygments (1.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 37ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [aio > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [aio > dependency] Executing",
                                "WARNING  [aio > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [aio > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [aio > cleanup] Executing",
                                "WARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > destroy] Executing",
                                "WARNING  [aio > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [aio > destroy] Executed: Successful",
                                "INFO     [aio > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "INFO     [aio > syntax] Executed: Successful",
                                "INFO     [aio > create] Executing",
                                "WARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:54:12 +0000 (0:00:00.027)       0:00:00.027 **********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Monday 16 March 2026  21:54:13 +0000 (0:00:01.081)       0:00:01.108 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Monday 16 March 2026  21:54:13 +0000 (0:00:00.662)       0:00:01.771 **********",
                                "[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: [instance]",
                                "",
                                "TASK [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Monday 16 March 2026  21:54:14 +0000 (0:00:00.264)       0:00:02.035 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Monday 16 March 2026  21:54:15 +0000 (0:00:01.210)       0:00:03.245 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Monday 16 March 2026  21:54:16 +0000 (0:00:00.761)       0:00:04.007 **********",
                                "changed: [localhost] => (item=group_vars)",
                                "changed: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "changed: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Monday 16 March 2026  21:54:17 +0000 (0:00:01.031)       0:00:05.039 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Monday 16 March 2026  21:54:17 +0000 (0:00:00.171)       0:00:05.210 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Monday 16 March 2026  21:54:17 +0000 (0:00:00.027)       0:00:05.237 **********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': '7882dceb-ed9e-5415-87e7-74578d769be1'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Monday 16 March 2026  21:54:17 +0000 (0:00:00.045)       0:00:05.283 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Monday 16 March 2026  21:54:17 +0000 (0:00:00.551)       0:00:05.835 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.178)       0:00:06.013 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.023)       0:00:06.037 **********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.025)       0:00:06.063 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.341)       0:00:06.405 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.167)       0:00:06.572 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.026)       0:00:06.598 **********",
                                "ok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})",
                                "",
                                "TASK [Write new Kubernetes configuration file to disk] *************************",
                                "Monday 16 March 2026  21:54:18 +0000 (0:00:00.038)       0:00:06.637 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Monday 16 March 2026  21:54:19 +0000 (0:00:00.348)       0:00:06.985 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Monday 16 March 2026  21:54:19 +0000 (0:00:00.163)       0:00:07.149 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Monday 16 March 2026  21:54:19 +0000 (0:00:00.023)       0:00:07.173 **********",
                                "ok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})",
                                "ok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})",
                                "",
                                "TASK [Write new Keepalived configuration file to disk] *************************",
                                "Monday 16 March 2026  21:54:19 +0000 (0:00:00.034)       0:00:07.208 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:54:19 +0000 (0:00:00.335)       0:00:07.543 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Monday 16 March 2026  21:54:20 +0000 (0:00:00.650)       0:00:08.193 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Monday 16 March 2026  21:54:20 +0000 (0:00:00.169)       0:00:08.363 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Monday 16 March 2026  21:54:20 +0000 (0:00:00.028)       0:00:08.392 **********",
                                "ok: [localhost] => (item=keycloak_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_prometheus_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_region_name)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)",
                                "",
                                "TASK [Write new endpoints file to disk] ****************************************",
                                "Monday 16 March 2026  21:54:21 +0000 (0:00:00.789)       0:00:09.181 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Monday 16 March 2026  21:54:21 +0000 (0:00:00.330)       0:00:09.511 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Monday 16 March 2026  21:54:21 +0000 (0:00:00.172)       0:00:09.684 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.183)       0:00:09.867 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.028)       0:00:09.895 **********",
                                "ok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})",
                                "",
                                "TASK [Write new Neutron configuration file to disk] ****************************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.039)       0:00:09.935 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.353)       0:00:10.289 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.172)       0:00:10.461 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.030)       0:00:10.491 **********",
                                "ok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})",
                                "",
                                "TASK [Write new Nova configuration file to disk] *******************************",
                                "Monday 16 March 2026  21:54:22 +0000 (0:00:00.041)       0:00:10.533 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Monday 16 March 2026  21:54:23 +0000 (0:00:00.339)       0:00:10.873 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Monday 16 March 2026  21:54:23 +0000 (0:00:00.169)       0:00:11.042 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Monday 16 March 2026  21:54:23 +0000 (0:00:00.030)       0:00:11.073 **********",
                                "ok: [localhost] => (item=heat_auth_encryption_key)",
                                "ok: [localhost] => (item=keepalived_password)",
                                "ok: [localhost] => (item=keycloak_admin_password)",
                                "ok: [localhost] => (item=keycloak_database_password)",
                                "ok: [localhost] => (item=keystone_keycloak_client_secret)",
                                "ok: [localhost] => (item=keystone_oidc_crypto_passphrase)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)",
                                "ok: [localhost] => (item=octavia_heartbeat_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)",
                                "",
                                "TASK [Generate base64 encoded secrets] *****************************************",
                                "Monday 16 March 2026  21:54:23 +0000 (0:00:00.408)       0:00:11.481 **********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Monday 16 March 2026  21:54:23 +0000 (0:00:00.051)       0:00:11.533 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Monday 16 March 2026  21:54:24 +0000 (0:00:00.386)       0:00:11.920 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Monday 16 March 2026  21:54:28 +0000 (0:00:04.641)       0:00:16.562 **********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Monday 16 March 2026  21:54:28 +0000 (0:00:00.054)       0:00:16.616 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Monday 16 March 2026  21:54:29 +0000 (0:00:00.324)       0:00:16.941 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Monday 16 March 2026  21:54:29 +0000 (0:00:00.354)       0:00:17.295 **********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:54:29 +0000 (0:00:00.035)       0:00:17.331 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Monday 16 March 2026  21:54:30 +0000 (0:00:00.703)       0:00:18.034 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Monday 16 March 2026  21:54:30 +0000 (0:00:00.321)       0:00:18.356 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Monday 16 March 2026  21:54:30 +0000 (0:00:00.211)       0:00:18.567 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Monday 16 March 2026  21:54:30 +0000 (0:00:00.191)       0:00:18.759 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Monday 16 March 2026  21:54:31 +0000 (0:00:00.190)       0:00:18.949 **********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:54:31 +0000 (0:00:00.367)       0:00:19.317 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Monday 16 March 2026  21:54:32 +0000 (0:00:00.717)       0:00:20.034 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Monday 16 March 2026  21:54:51 +0000 (0:00:19.523)       0:00:39.558 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Monday 16 March 2026  21:54:52 +0000 (0:00:00.577)       0:00:40.135 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Monday 16 March 2026  21:54:52 +0000 (0:00:00.222)       0:00:40.358 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Monday 16 March 2026  21:54:52 +0000 (0:00:00.439)       0:00:40.798 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Monday 16 March 2026  21:54:53 +0000 (0:00:00.199)       0:00:40.997 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Monday 16 March 2026  21:54:53 +0000 (0:00:00.025)       0:00:41.022 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Monday 16 March 2026  21:54:53 +0000 (0:00:00.536)       0:00:41.559 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Monday 16 March 2026  21:54:54 +0000 (0:00:00.531)       0:00:42.091 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Monday 16 March 2026  21:54:54 +0000 (0:00:00.717)       0:00:42.808 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Monday 16 March 2026  21:54:57 +0000 (0:00:02.960)       0:00:45.768 **********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:54:59 +0000 (0:00:01.897)       0:00:47.666 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Monday 16 March 2026  21:55:00 +0000 (0:00:00.910)       0:00:48.577 **********",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "localhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Monday 16 March 2026  21:55:01 +0000 (0:00:00.436)       0:00:49.013 **********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 19.52s",
                                "Generate SSH keys for missing variables --------------------------------- 4.64s",
                                "Create a volume group for each loop device ------------------------------ 2.96s",
                                "Create a logical volume for each loop device ---------------------------- 1.90s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.21s",
                                "Gathering Facts --------------------------------------------------------- 1.08s",
                                "Create folders for workspace -------------------------------------------- 1.03s",
                                "Gathering Facts --------------------------------------------------------- 0.91s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.79s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.76s",
                                "Gathering Facts --------------------------------------------------------- 0.72s",
                                "Start loop devices ------------------------------------------------------ 0.72s",
                                "Gathering Facts --------------------------------------------------------- 0.70s",
                                "Configure short hostname ------------------------------------------------ 0.66s",
                                "Gathering Facts --------------------------------------------------------- 0.65s",
                                "Start up service -------------------------------------------------------- 0.58s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.55s",
                                "Create devices for Ceph ------------------------------------------------- 0.54s",
                                "Set permissions on loopback devices ------------------------------------- 0.53s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.44s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:55:03 +0000 (0:00:00.016)       0:00:00.016 **********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "Monday 16 March 2026  21:55:05 +0000 (0:00:01.153)       0:00:01.170 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 16 March 2026  21:55:05 +0000 (0:00:00.044)       0:00:01.214 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:55:05 +0000 (0:00:00.189)       0:00:01.404 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:55:06 +0000 (0:00:00.869)       0:00:02.273 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:55:06 +0000 (0:00:00.282)       0:00:02.556 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 March 2026  21:55:06 +0000 (0:00:00.043)       0:00:02.599 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:55:06 +0000 (0:00:00.285)       0:00:02.884 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  21:55:06 +0000 (0:00:00.070)       0:00:02.955 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:55:08 +0000 (0:00:01.144)       0:00:04.100 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:55:08 +0000 (0:00:00.048)       0:00:04.148 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:55:08 +0000 (0:00:00.053)       0:00:04.201 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:55:08 +0000 (0:00:00.211)       0:00:04.413 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:55:09 +0000 (0:00:01.156)       0:00:05.569 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  21:55:09 +0000 (0:00:00.069)       0:00:05.639 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:55:10 +0000 (0:00:00.820)       0:00:06.460 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 March 2026  21:55:13 +0000 (0:00:02.846)       0:00:09.306 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 March 2026  21:55:13 +0000 (0:00:00.037)       0:00:09.344 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 March 2026  21:55:13 +0000 (0:00:00.037)       0:00:09.381 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 March 2026  21:55:13 +0000 (0:00:00.030)       0:00:09.411 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 March 2026  21:55:17 +0000 (0:00:04.541)       0:00:13.953 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 March 2026  21:55:18 +0000 (0:00:00.592)       0:00:14.545 **********",
                                "changed: [instance] => (item={'path': '/etc/containerd'})",
                                "changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 16 March 2026  21:55:19 +0000 (0:00:00.872)       0:00:15.418 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 March 2026  21:55:19 +0000 (0:00:00.535)       0:00:15.953 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 16 March 2026  21:55:19 +0000 (0:00:00.008)       0:00:15.962 **********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Monday 16 March 2026  21:55:20 +0000 (0:00:00.946)       0:00:16.908 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 March 2026  21:55:21 +0000 (0:00:00.450)       0:00:17.359 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:55:21 +0000 (0:00:00.523)       0:00:17.882 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:55:22 +0000 (0:00:00.207)       0:00:18.090 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  21:55:22 +0000 (0:00:00.051)       0:00:18.141 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:55:23 +0000 (0:00:01.336)       0:00:19.478 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 16 March 2026  21:55:27 +0000 (0:00:04.293)       0:00:23.771 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 16 March 2026  21:55:28 +0000 (0:00:00.901)       0:00:24.672 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 16 March 2026  21:55:29 +0000 (0:00:00.372)       0:00:25.044 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 16 March 2026  21:55:29 +0000 (0:00:00.446)       0:00:25.491 **********",
                                "changed: [instance] => (item={'path': '/etc/docker'})",
                                "changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Monday 16 March 2026  21:55:29 +0000 (0:00:00.534)       0:00:26.025 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 16 March 2026  21:55:30 +0000 (0:00:00.449)       0:00:26.474 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 16 March 2026  21:55:30 +0000 (0:00:00.442)       0:00:26.917 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 16 March 2026  21:55:30 +0000 (0:00:00.008)       0:00:26.925 **********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Monday 16 March 2026  21:55:31 +0000 (0:00:00.682)       0:00:27.607 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 16 March 2026  21:55:32 +0000 (0:00:01.038)       0:00:28.646 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 16 March 2026  21:55:33 +0000 (0:00:00.528)       0:00:29.175 **********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Monday 16 March 2026  21:55:33 +0000 (0:00:00.054)       0:00:29.229 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 16 March 2026  21:55:37 +0000 (0:00:04.614)       0:00:33.844 **********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 16 March 2026  21:55:38 +0000 (0:00:00.637)       0:00:34.481 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 16 March 2026  21:55:38 +0000 (0:00:00.300)       0:00:34.782 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 16 March 2026  21:55:38 +0000 (0:00:00.195)       0:00:34.977 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 16 March 2026  21:55:39 +0000 (0:00:00.455)       0:00:35.433 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Monday 16 March 2026  21:55:39 +0000 (0:00:00.352)       0:00:35.785 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:01.644)       0:00:37.430 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.051)       0:00:37.481 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.040)       0:00:37.521 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.038)       0:00:37.560 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.039)       0:00:37.600 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.041)       0:00:37.641 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.035)       0:00:37.677 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.040)       0:00:37.717 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.041)       0:00:37.759 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Monday 16 March 2026  21:55:41 +0000 (0:00:00.109)       0:00:37.868 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Monday 16 March 2026  21:55:42 +0000 (0:00:00.212)       0:00:38.081 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Monday 16 March 2026  21:55:42 +0000 (0:00:00.049)       0:00:38.131 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "Monday 16 March 2026  21:55:42 +0000 (0:00:00.072)       0:00:38.203 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Monday 16 March 2026  21:55:42 +0000 (0:00:00.326)       0:00:38.529 **********",
                                "changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})",
                                "changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************",
                                "Monday 16 March 2026  21:55:43 +0000 (0:00:00.665)       0:00:39.195 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Monday 16 March 2026  21:57:42 +0000 (0:01:59.570)       0:02:38.765 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Monday 16 March 2026  21:57:42 +0000 (0:00:00.200)       0:02:38.966 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 March 2026  21:57:42 +0000 (0:00:00.045)       0:02:39.012 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 March 2026  21:57:43 +0000 (0:00:00.075)       0:02:39.087 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 March 2026  21:57:44 +0000 (0:00:01.497)       0:02:40.584 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 March 2026  21:57:44 +0000 (0:00:00.055)       0:02:40.640 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 March 2026  21:57:45 +0000 (0:00:00.406)       0:02:41.046 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Monday 16 March 2026  21:57:46 +0000 (0:00:01.912)       0:02:42.959 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Monday 16 March 2026  21:57:48 +0000 (0:00:01.614)       0:02:44.573 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 March 2026  21:57:58 +0000 (0:00:10.201)       0:02:54.774 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 March 2026  21:57:58 +0000 (0:00:00.076)       0:02:54.851 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 March 2026  21:57:58 +0000 (0:00:00.048)       0:02:54.900 **********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 March 2026  21:57:58 +0000 (0:00:00.053)       0:02:54.953 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 March 2026  21:57:59 +0000 (0:00:00.256)       0:02:55.210 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Monday 16 March 2026  21:58:01 +0000 (0:00:01.908)       0:02:57.119 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Monday 16 March 2026  21:58:02 +0000 (0:00:01.590)       0:02:58.709 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Monday 16 March 2026  21:58:04 +0000 (0:00:01.547)       0:03:00.257 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  21:58:05 +0000 (0:00:01.707)       0:03:01.965 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:58:06 +0000 (0:00:00.918)       0:03:02.884 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.206)       0:03:03.090 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.040)       0:03:03.130 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.216)       0:03:03.347 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.053)       0:03:03.400 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.309)       0:03:03.709 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.047)       0:03:03.757 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.050)       0:03:03.807 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  21:58:07 +0000 (0:00:00.201)       0:03:04.009 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:58:08 +0000 (0:00:00.937)       0:03:04.946 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  21:58:08 +0000 (0:00:00.068)       0:03:05.015 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:58:09 +0000 (0:00:00.371)       0:03:05.386 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 March 2026  21:58:11 +0000 (0:00:01.911)       0:03:07.298 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.331 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.363 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 March 2026  21:58:11 +0000 (0:00:00.032)       0:03:07.395 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 March 2026  21:58:12 +0000 (0:00:00.999)       0:03:08.395 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 March 2026  21:58:12 +0000 (0:00:00.409)       0:03:08.805 **********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 16 March 2026  21:58:13 +0000 (0:00:00.857)       0:03:09.663 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 March 2026  21:58:14 +0000 (0:00:00.458)       0:03:10.121 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 March 2026  21:58:14 +0000 (0:00:00.006)       0:03:10.128 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  21:58:14 +0000 (0:00:00.344)       0:03:10.473 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  21:58:14 +0000 (0:00:00.198)       0:03:10.672 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  21:58:14 +0000 (0:00:00.053)       0:03:10.725 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  21:58:15 +0000 (0:00:00.332)       0:03:11.057 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 16 March 2026  21:58:18 +0000 (0:00:02.998)       0:03:14.056 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 16 March 2026  21:58:19 +0000 (0:00:00.993)       0:03:15.050 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 16 March 2026  21:58:19 +0000 (0:00:00.188)       0:03:15.238 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 16 March 2026  21:58:19 +0000 (0:00:00.422)       0:03:15.661 **********",
                                "ok: [instance] => (item={'path': '/etc/docker'})",
                                "ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Monday 16 March 2026  21:58:20 +0000 (0:00:00.527)       0:03:16.189 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 16 March 2026  21:58:20 +0000 (0:00:00.412)       0:03:16.601 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 16 March 2026  21:58:20 +0000 (0:00:00.394)       0:03:16.996 **********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 16 March 2026  21:58:20 +0000 (0:00:00.008)       0:03:17.005 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 16 March 2026  21:58:21 +0000 (0:00:00.335)       0:03:17.340 **********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Monday 16 March 2026  21:58:21 +0000 (0:00:00.057)       0:03:17.397 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 16 March 2026  21:58:22 +0000 (0:00:00.958)       0:03:18.356 **********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 16 March 2026  21:58:22 +0000 (0:00:00.642)       0:03:18.998 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 16 March 2026  21:58:23 +0000 (0:00:00.276)       0:03:19.274 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 16 March 2026  21:58:23 +0000 (0:00:00.210)       0:03:19.485 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 16 March 2026  21:58:23 +0000 (0:00:00.226)       0:03:19.712 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Monday 16 March 2026  21:58:23 +0000 (0:00:00.199)       0:03:19.912 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Monday 16 March 2026  21:58:24 +0000 (0:00:00.225)       0:03:20.137 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Monday 16 March 2026  21:58:24 +0000 (0:00:00.043)       0:03:20.181 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Monday 16 March 2026  21:58:28 +0000 (0:00:04.703)       0:03:24.884 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 March 2026  21:58:28 +0000 (0:00:00.044)       0:03:24.929 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 March 2026  21:58:28 +0000 (0:00:00.063)       0:03:24.992 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 March 2026  21:58:29 +0000 (0:00:00.040)       0:03:25.032 **********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 March 2026  21:58:29 +0000 (0:00:00.044)       0:03:25.077 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 March 2026  21:58:29 +0000 (0:00:00.257)       0:03:25.335 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Monday 16 March 2026  21:58:31 +0000 (0:00:01.960)       0:03:27.296 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Monday 16 March 2026  21:58:31 +0000 (0:00:00.026)       0:03:27.322 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Monday 16 March 2026  21:58:31 +0000 (0:00:00.032)       0:03:27.354 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Monday 16 March 2026  21:58:36 +0000 (0:00:05.314)       0:03:32.669 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Monday 16 March 2026  21:58:46 +0000 (0:00:10.299)       0:03:42.968 **********",
                                "ok: [instance] => (item=/dev/ceph-instance-osd0/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd1/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd2/data)",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Monday 16 March 2026  22:00:11 +0000 (0:01:24.814)       0:05:07.782 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Monday 16 March 2026  22:00:13 +0000 (0:00:01.607)       0:05:09.390 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Monday 16 March 2026  22:00:14 +0000 (0:00:01.517)       0:05:10.907 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Monday 16 March 2026  22:00:14 +0000 (0:00:00.061)       0:05:10.969 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Monday 16 March 2026  22:00:14 +0000 (0:00:00.048)       0:05:11.017 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Monday 16 March 2026  22:00:16 +0000 (0:00:01.646)       0:05:12.663 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Monday 16 March 2026  22:00:16 +0000 (0:00:00.044)       0:05:12.707 **********",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Monday 16 March 2026  22:00:16 +0000 (0:00:00.053)       0:05:12.761 **********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Monday 16 March 2026  22:00:16 +0000 (0:00:00.181)       0:05:12.943 **********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  22:00:17 +0000 (0:00:00.320)       0:05:13.263 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Monday 16 March 2026  22:00:18 +0000 (0:00:00.899)       0:05:14.163 **********",
                                "changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***",
                                "Monday 16 March 2026  22:00:21 +0000 (0:00:03.615)       0:05:17.779 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Monday 16 March 2026  22:00:21 +0000 (0:00:00.191)       0:05:17.970 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Monday 16 March 2026  22:00:22 +0000 (0:00:00.425)       0:05:18.396 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 16 March 2026  22:00:22 +0000 (0:00:00.242)       0:05:18.638 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  22:00:22 +0000 (0:00:00.045)       0:05:18.684 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Monday 16 March 2026  22:00:23 +0000 (0:00:00.911)       0:05:19.596 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Monday 16 March 2026  22:00:23 +0000 (0:00:00.200)       0:05:19.796 **********",
                                "ok: [instance] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [instance] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Monday 16 March 2026  22:00:24 +0000 (0:00:00.862)       0:05:20.658 **********",
                                "failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "failed: [instance] (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] *********",
                                "Monday 16 March 2026  22:00:25 +0000 (0:00:00.512)       0:05:21.170 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Monday 16 March 2026  22:00:25 +0000 (0:00:00.183)       0:05:21.354 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Monday 16 March 2026  22:00:25 +0000 (0:00:00.180)       0:05:21.535 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Monday 16 March 2026  22:00:25 +0000 (0:00:00.033)       0:05:21.569 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Monday 16 March 2026  22:00:25 +0000 (0:00:00.039)       0:05:21.608 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Monday 16 March 2026  22:00:26 +0000 (0:00:00.494)       0:05:22.102 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Monday 16 March 2026  22:00:26 +0000 (0:00:00.186)       0:05:22.289 **********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 March 2026  22:00:26 +0000 (0:00:00.056)       0:05:22.346 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:27 +0000 (0:00:00.885)       0:05:23.231 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  22:00:27 +0000 (0:00:00.212)       0:05:23.443 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 March 2026  22:00:27 +0000 (0:00:00.042)       0:05:23.486 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:27 +0000 (0:00:00.210)       0:05:23.697 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  22:00:27 +0000 (0:00:00.054)       0:05:23.752 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:28 +0000 (0:00:00.288)       0:05:24.040 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:28 +0000 (0:00:00.043)       0:05:24.084 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 March 2026  22:00:28 +0000 (0:00:00.198)       0:05:24.282 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:29 +0000 (0:00:00.974)       0:05:25.257 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  22:00:29 +0000 (0:00:00.067)       0:05:25.325 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:29 +0000 (0:00:00.323)       0:05:25.648 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 March 2026  22:00:31 +0000 (0:00:01.904)       0:05:27.552 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 March 2026  22:00:31 +0000 (0:00:00.034)       0:05:27.587 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 March 2026  22:00:31 +0000 (0:00:00.035)       0:05:27.623 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 March 2026  22:00:31 +0000 (0:00:00.036)       0:05:27.660 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 March 2026  22:00:32 +0000 (0:00:00.962)       0:05:28.622 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 March 2026  22:00:33 +0000 (0:00:00.421)       0:05:29.043 **********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 16 March 2026  22:00:33 +0000 (0:00:00.885)       0:05:29.929 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 March 2026  22:00:34 +0000 (0:00:00.480)       0:05:30.410 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 March 2026  22:00:34 +0000 (0:00:00.009)       0:05:30.419 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Monday 16 March 2026  22:00:34 +0000 (0:00:00.366)       0:05:30.786 **********",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. 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] ***",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.579)       0:05:31.366 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.033)       0:05:31.399 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.035)       0:05:31.434 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.037)       0:05:31.472 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.035)       0:05:31.507 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.046)       0:05:31.554 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.207)       0:05:31.761 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  22:00:35 +0000 (0:00:00.047)       0:05:31.809 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:37 +0000 (0:00:02.131)       0:05:33.940 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:37 +0000 (0:00:00.043)       0:05:33.984 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:38 +0000 (0:00:00.199)       0:05:34.183 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  22:00:38 +0000 (0:00:00.040)       0:05:34.224 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:46 +0000 (0:00:08.517)       0:05:42.741 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 March 2026  22:00:46 +0000 (0:00:00.054)       0:05:42.796 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 March 2026  22:00:46 +0000 (0:00:00.028)       0:05:42.824 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 March 2026  22:00:46 +0000 (0:00:00.031)       0:05:42.855 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 March 2026  22:00:46 +0000 (0:00:00.038)       0:05:42.893 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 March 2026  22:00:47 +0000 (0:00:00.892)       0:05:43.786 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 March 2026  22:00:48 +0000 (0:00:00.410)       0:05:44.197 **********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Monday 16 March 2026  22:00:49 +0000 (0:00:00.871)       0:05:45.069 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 March 2026  22:00:49 +0000 (0:00:00.492)       0:05:45.561 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 March 2026  22:00:49 +0000 (0:00:00.009)       0:05:45.571 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:49 +0000 (0:00:00.333)       0:05:45.904 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:50 +0000 (0:00:00.200)       0:05:46.105 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  22:00:50 +0000 (0:00:00.052)       0:05:46.158 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:51 +0000 (0:00:01.710)       0:05:47.868 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:53 +0000 (0:00:01.336)       0:05:49.204 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  22:00:53 +0000 (0:00:00.052)       0:05:49.257 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:53 +0000 (0:00:00.599)       0:05:49.856 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Monday 16 March 2026  22:00:55 +0000 (0:00:01.340)       0:05:51.197 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Monday 16 March 2026  22:00:55 +0000 (0:00:00.451)       0:05:51.648 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:00:55 +0000 (0:00:00.203)       0:05:51.851 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:00:56 +0000 (0:00:00.202)       0:05:52.053 **********",
                                "ok: [instance] => {",
                                "    \"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] *******************",
                                "Monday 16 March 2026  22:00:56 +0000 (0:00:00.057)       0:05:52.111 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:00:58 +0000 (0:00:01.952)       0:05:54.064 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Monday 16 March 2026  22:01:00 +0000 (0:00:02.604)       0:05:56.668 **********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "Monday 16 March 2026  22:01:00 +0000 (0:00:00.054)       0:05:56.722 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Monday 16 March 2026  22:01:01 +0000 (0:00:00.943)       0:05:57.666 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Monday 16 March 2026  22:01:01 +0000 (0:00:00.190)       0:05:57.856 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Monday 16 March 2026  22:01:02 +0000 (0:00:00.438)       0:05:58.294 **********",
                                "changed: [instance] => (item=br_netfilter)",
                                "ok: [instance] => (item=ip_tables)",
                                "changed: [instance] => (item=ip6_tables)",
                                "ok: [instance] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 March 2026  22:01:02 +0000 (0:00:00.697)       0:05:58.991 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 March 2026  22:01:03 +0000 (0:00:00.195)       0:05:59.187 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 March 2026  22:01:03 +0000 (0:00:00.045)       0:05:59.232 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 March 2026  22:01:05 +0000 (0:00:02.775)       0:06:02.008 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Monday 16 March 2026  22:01:06 +0000 (0:00:00.038)       0:06:02.046 **********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Monday 16 March 2026  22:01:06 +0000 (0:00:00.055)       0:06:02.102 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Monday 16 March 2026  22:01:06 +0000 (0:00:00.034)       0:06:02.136 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Monday 16 March 2026  22:01:08 +0000 (0:00:02.768)       0:06:04.905 **********",
                                "changed: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "Monday 16 March 2026  22:01:10 +0000 (0:00:01.212)       0:06:06.117 **********",
                                "changed: [instance] => (item=/etc/systemd/system/kubelet.service.d)",
                                "ok: [instance] => (item=/etc/kubernetes)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "Monday 16 March 2026  22:01:10 +0000 (0:00:00.528)       0:06:06.646 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Monday 16 March 2026  22:01:11 +0000 (0:00:00.430)       0:06:07.077 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Monday 16 March 2026  22:01:11 +0000 (0:00:00.443)       0:06:07.520 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Monday 16 March 2026  22:01:11 +0000 (0:00:00.190)       0:06:07.710 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Monday 16 March 2026  22:01:11 +0000 (0:00:00.031)       0:06:07.741 **********",
                                "ok: [instance] => (item=swap)",
                                "ok: [instance] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Monday 16 March 2026  22:01:12 +0000 (0:00:00.503)       0:06:08.244 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Monday 16 March 2026  22:01:12 +0000 (0:00:00.434)       0:06:08.678 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Monday 16 March 2026  22:01:13 +0000 (0:00:00.567)       0:06:09.246 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Monday 16 March 2026  22:01:13 +0000 (0:00:00.008)       0:06:09.254 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Monday 16 March 2026  22:01:13 +0000 (0:00:00.731)       0:06:09.986 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Monday 16 March 2026  22:01:14 +0000 (0:00:00.563)       0:06:10.549 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Monday 16 March 2026  22:01:15 +0000 (0:00:00.934)       0:06:11.483 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Monday 16 March 2026  22:01:16 +0000 (0:00:00.718)       0:06:12.202 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Monday 16 March 2026  22:01:16 +0000 (0:00:00.191)       0:06:12.394 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Monday 16 March 2026  22:01:16 +0000 (0:00:00.488)       0:06:12.882 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Monday 16 March 2026  22:01:16 +0000 (0:00:00.081)       0:06:12.964 **********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.072)       0:06:13.036 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.190)       0:06:13.227 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.040)       0:06:13.267 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.048)       0:06:13.316 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"instance\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.039)       0:06:13.355 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.508)       0:06:13.864 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.035)       0:06:13.899 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.035)       0:06:13.934 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.027)       0:06:13.962 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Monday 16 March 2026  22:01:17 +0000 (0:00:00.031)       0:06:13.993 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Monday 16 March 2026  22:01:18 +0000 (0:00:00.036)       0:06:14.030 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Monday 16 March 2026  22:01:18 +0000 (0:00:00.032)       0:06:14.063 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Monday 16 March 2026  22:01:18 +0000 (0:00:00.038)       0:06:14.101 **********",
                                "fatal: [instance]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:00:01.404647\", \"end\": \"2026-03-16 22:01:19.632841\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-03-16 22:01:18.228194\", \"stderr\": \"W0316 22:01:18.260600   39122 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase preflight: [preflight] Some fatal errors occurred:\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0316 22:01:18.554729   39245 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0316 22:01:18.719143   39325 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0316 22:01:18.881081   39406 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0316 22:01:19.057461   39497 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0316 22:01:19.259090   39597 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0316 22:01:19.440714   39679 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0316 22:01:19.626096   39758 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\\ntime=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\\n, error: exit status 1\\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0316 22:01:18.260600   39122 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase preflight: [preflight] Some fatal errors occurred:\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0316 22:01:18.554729   39245 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0316 22:01:18.719143   39325 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0316 22:01:18.881081   39406 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:18Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0316 22:01:19.057461   39497 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0316 22:01:19.259090   39597 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0316 22:01:19.440714   39679 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0316 22:01:19.626096   39758 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\", \"time=\\\"2026-03-16T22:01:19Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: failed to do request: Head \\\\\\\"https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1\\\\\\\": dial tcp 199.204.45.204:443: connect: connection refused\\\"\", \", error: exit status 1\", \"[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2",
                                "",
                                "Monday 16 March 2026  22:01:19 +0000 (0:00:01.588)       0:06:15.689 **********",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 119.57s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 84.81s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.30s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.20s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 8.52s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.31s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.70s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.61s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 4.54s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.29s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.62s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.00s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.85s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.78s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 2.77s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.60s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.13s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.96s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.95s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.91s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "ERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-e182-a667-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:20.094241Z",
                            "start": "2026-03-16T21:53:20.564087Z"
                        },
                        "id": "0242ac17-0011-e182-a667-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T22:01:31.390133Z",
                    "start": "2026-03-16T22:01:21.328175Z"
                },
                "id": "0242ac17-0011-0fd3-2474-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:21.731635Z",
                            "start": "2026-03-16T22:01:21.342856Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.104561",
                            "end": "2026-03-16 22:01:22.174785",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:22.070224",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:22.282194Z",
                            "start": "2026-03-16T22:01:21.757323Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/system /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:22.918215Z",
                            "start": "2026-03-16T22:01:22.298753Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:23.311055Z",
                            "start": "2026-03-16T22:01:22.926964Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:00.063093",
                            "end": "2026-03-16 22:01:23.589651",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:23.526558",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0316 22:01:23.579313   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:23.579991   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:23.581703   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:23.582410   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:23.584062   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0316 22:01:23.579313   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:23.579991   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:23.581703   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:23.582410   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:23.584062   39850 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:23.859204Z",
                            "start": "2026-03-16T22:01:23.344743Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/helm /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:24.336090Z",
                            "start": "2026-03-16T22:01:23.864065Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:24.551881Z",
                            "start": "2026-03-16T22:01:24.345568Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000019",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.219434",
                            "end": "2026-03-16 22:01:25.013846",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:24.794412",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0316 22:01:24.861692   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.862600   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.864515   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.865160   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.867062   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0316 22:01:24.869726   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.871153   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.871905   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.873670   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.874331   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0316 22:01:24.937564   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.938334   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.938335   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.939126   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.939973   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.940501   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.940819   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.941484   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:24.942412   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0316 22:01:24.943221   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0316 22:01:25.003269   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.004023   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.005895   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.006599   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.008379   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0316 22:01:24.861692   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.862600   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.864515   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.865160   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.867062   39926 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0316 22:01:24.869726   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.871153   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.871905   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.873670   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.874331   39922 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0316 22:01:24.937564   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.938334   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.938335   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.939126   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.939973   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.940501   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.940819   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.941484   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:24.942412   39961 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0316 22:01:24.943221   39968 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0316 22:01:25.003269   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.004023   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.005895   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.006599   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.008379   39998 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:25.124869Z",
                            "start": "2026-03-16T22:01:24.605052Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:25.325886Z",
                            "start": "2026-03-16T22:01:25.132446Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000001b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.074722",
                            "end": "2026-03-16 22:01:25.606798",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:25.532076",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0316 22:01:25.594181   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.595079   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.596866   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.597456   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:25.599414   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "E0316 22:01:25.594181   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.595079   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.596866   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.597456   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:25.599414   40034 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:25.874900Z",
                            "start": "2026-03-16T22:01:25.354251Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/objects /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:26.353620Z",
                            "start": "2026-03-16T22:01:25.883686Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:26.559154Z",
                            "start": "2026-03-16T22:01:26.363959Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:26.760966Z",
                            "start": "2026-03-16T22:01:26.563576Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000022",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:00.070122",
                            "end": "2026-03-16 22:01:27.031955",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:26.961833",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0316 22:01:27.020447   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:27.021368   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:27.023126   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:27.023702   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:27.025560   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0316 22:01:27.020447   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:27.021368   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:27.023126   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:27.023702   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:27.025560   40093 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:27.302922Z",
                            "start": "2026-03-16T22:01:26.784677Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/pod-logs /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:27.787711Z",
                            "start": "2026-03-16T22:01:27.309019Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:27.998323Z",
                            "start": "2026-03-16T22:01:27.800019Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:00.071835",
                            "end": "2026-03-16 22:01:28.264686",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:28.192851",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0316 22:01:28.252284   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.253266   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.255397   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.256137   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.258167   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0316 22:01:28.252284   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.253266   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.255397   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.256137   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.258167   40141 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:28.538375Z",
                            "start": "2026-03-16T22:01:28.022092Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.075909",
                            "end": "2026-03-16 22:01:28.821093",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:28.745184",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0316 22:01:28.809514   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.810476   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.812557   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.813534   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:28.815369   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "E0316 22:01:28.809514   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.810476   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.812557   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.813534   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:28.815369   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:29.085741Z",
                            "start": "2026-03-16T22:01:28.566473Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.068176",
                            "end": "2026-03-16 22:01:29.362897",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-16 22:01:29.294721",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0316 22:01:29.351299   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:29.351859   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:29.353915   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:29.354508   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0316 22:01:29.356271   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0316 22:01:29.351299   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:29.351859   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:29.353915   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:29.354508   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0316 22:01:29.356271   40196 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:29.630094Z",
                            "start": "2026-03-16T22:01:29.112201Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/prometheus /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:30.098854Z",
                            "start": "2026-03-16T22:01:29.636534Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:30.358331Z",
                            "start": "2026-03-16T22:01:30.109770Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.007518",
                            "end": "2026-03-16 22:01:30.574746",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-03-16 22:01:30.567228",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0011-0fd3-2474-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:30.898838Z",
                            "start": "2026-03-16T22:01:30.381886Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/tmp/logs/selenium /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/instance",
                            "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/b94740fa85074465acadda781f4e4082/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.19.213.5:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0fd3-2474-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:31.390133Z",
                            "start": "2026-03-16T22:01:30.903510Z"
                        },
                        "id": "0242ac17-0011-0fd3-2474-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T22:01:35.081922Z",
                    "start": "2026-03-16T22:01:32.113015Z"
                },
                "id": "0242ac17-0011-bc74-7bcd-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-bc74-7bcd-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:32.159841Z",
                            "start": "2026-03-16T22:01:32.124129Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-bc74-7bcd-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:32.212496Z",
                            "start": "2026-03-16T22:01:32.171105Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-bc74-7bcd-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:32.991420Z",
                            "start": "2026-03-16T22:01:32.218147Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.5:/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/b94740fa85074465acadda781f4e4082/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.5:/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/b94740fa85074465acadda781f4e4082/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.19.213.5:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.19.213.5:/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/b94740fa85074465acadda781f4e4082/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-bc74-7bcd-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:34.444222Z",
                            "start": "2026-03-16T22:01:33.001685Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/artifacts/* /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.006847",
                                    "end": "2026-03-16 22:01:34.811053",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/artifacts/* /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-03-16 22:01:34.804206",
                                    "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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/docs/* /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008188",
                                    "end": "2026-03-16 22:01:35.033044",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/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/b94740fa85074465acadda781f4e4082/work/docs/* /var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-03-16 22:01:35.024856",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-bc74-7bcd-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:35.081922Z",
                            "start": "2026-03-16T22:01:34.457166Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-16T22:01:35.499880Z",
                    "start": "2026-03-16T22:01:35.092511Z"
                },
                "id": "0242ac17-0011-bc74-7bcd-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC3LIyMVreGH3kxOsqjP4dTcSg448pmeqJndzh7Uahdafh3y8cjiy0AdiNKdftBT2K8olKk5rr0iztbjJ2vZp+6Dy01A7T7bQvJ1GfZ2x4Hmi7a8PAy/MH7YmlD8Qg3G/176dU9tgO6OZhIoxQJDhCtuuv5c0r3VQT/5lkLkIG9dwTrz4hQVO1R+jOSCnq+LPiCEGdpUSNwvnAfUnKzgHBwpIfXL21o9vCtfHSNyqLrstrguj3ePjVn7CSW5uxWoSLNyN/DUW/jigvEpOGz2ulwGxu6g1Ad/o+yfhkVrkxdaxOmieb3HbanaSeZXa13bEUaEsfIJLkxuj6aJpZxJ1wClxk+zvCILfkUs7h+Dk9Nb305r393xrqAA9FTISoyvkSgmogPYqDMLQuUKH6vudWX1RGc4K8p3sniynC/8Zr6cD0PmV8woUh7uSIAFT1EBxV4PZdb6q52TxfnfVg4KoUu/udEoYri/WM/n3vh/KjJ7OfibanDgh0uUosj2MuJbq0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC3LIyMVreGH3kxOsqjP4dTcSg448pmeqJndzh7Uahdafh3y8cjiy0AdiNKdftBT2K8olKk5rr0iztbjJ2vZp+6Dy01A7T7bQvJ1GfZ2x4Hmi7a8PAy/MH7YmlD8Qg3G/176dU9tgO6OZhIoxQJDhCtuuv5c0r3VQT/5lkLkIG9dwTrz4hQVO1R+jOSCnq+LPiCEGdpUSNwvnAfUnKzgHBwpIfXL21o9vCtfHSNyqLrstrguj3ePjVn7CSW5uxWoSLNyN/DUW/jigvEpOGz2ulwGxu6g1Ad/o+yfhkVrkxdaxOmieb3HbanaSeZXa13bEUaEsfIJLkxuj6aJpZxJ1wClxk+zvCILfkUs7h+Dk9Nb305r393xrqAA9FTISoyvkSgmogPYqDMLQuUKH6vudWX1RGc4K8p3sniynC/8Zr6cD0PmV8woUh7uSIAFT1EBxV4PZdb6q52TxfnfVg4KoUu/udEoYri/WM/n3vh/KjJ7OfibanDgh0uUosj2MuJbq0= 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-bc74-7bcd-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/b94740fa85074465acadda781f4e4082/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-16T22:01:35.499880Z",
                            "start": "2026-03-16T22:01:35.099744Z"
                        },
                        "id": "0242ac17-0011-bc74-7bcd-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
