[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-17T10:24:32.787520Z",
                    "start": "2026-03-17T10:24:30.257821Z"
                },
                "id": "0242ac17-0011-3637-a98e-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-17",
                                    "day": "17",
                                    "epoch": "1773743070",
                                    "epoch_int": "1773743070",
                                    "hour": "10",
                                    "iso8601": "2026-03-17T10:24:30Z",
                                    "iso8601_basic": "20260317T102430954532",
                                    "iso8601_basic_short": "20260317T102430",
                                    "iso8601_micro": "2026-03-17T10:24:30.954532Z",
                                    "minute": "24",
                                    "month": "03",
                                    "second": "30",
                                    "time": "10:24:30",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "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/b253d34f6b704ea990984eb612761079/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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": "330794",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-YIH7UKQcUW6h/agent.330791",
                                    "TMP": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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": 10.44189453125,
                                    "1m": 11.5634765625,
                                    "5m": 11.9521484375
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 2097,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 11105,
                                        "used": 20985
                                    },
                                    "real": {
                                        "free": 2097,
                                        "total": 32090,
                                        "used": 29993
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 6383351,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218229,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626018,
                                        "inode_total": 20643840,
                                        "inode_used": 5017822,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146205696,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383351,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218229,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626018,
                                        "inode_total": 20643840,
                                        "inode_used": 5017822,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146205696,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383351,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218229,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626018,
                                        "inode_total": 20643840,
                                        "inode_used": 5017822,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146205696,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383351,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218229,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626018,
                                        "inode_total": 20643840,
                                        "inode_used": 5017822,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146205696,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383351,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218229,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626018,
                                        "inode_total": 20643840,
                                        "inode_used": 5017822,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146205696,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383424,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218156,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626019,
                                        "inode_total": 20643840,
                                        "inode_used": 5017821,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146504704,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383424,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218156,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626019,
                                        "inode_total": 20643840,
                                        "inode_used": 5017821,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146504704,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383424,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218156,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626019,
                                        "inode_total": 20643840,
                                        "inode_used": 5017821,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146504704,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383424,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218156,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626019,
                                        "inode_total": 20643840,
                                        "inode_used": 5017821,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146504704,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 221774954,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 42165763,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 63307441,
                                        "inode_total": 67108864,
                                        "inode_used": 3801423,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 908390211584,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6383424,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34218156,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15626019,
                                        "inode_total": 20643840,
                                        "inode_used": 5017821,
                                        "mount": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 26146504704,
                                        "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": 37406800,
                                "ansible_user_dir": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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-17T10:24:31.257876Z",
                            "start": "2026-03-17T10:24:30.266611Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:31.285318Z",
                            "start": "2026-03-17T10:24:31.263225Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "b25/oss/b253d34f6b704ea990984eb612761079"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:31.331221Z",
                            "start": "2026-03-17T10:24:31.296100Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-csi-rbd\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3762\nEvent ID: e9fa1e00-21bb-11f1-8fd8-b017b4041085\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:31.378886Z",
                            "start": "2026-03-17T10:24:31.338079Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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: np0000159215\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.238\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:31.490214Z",
                            "start": "2026-03-17T10:24:31.393125Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:31.914396Z",
                            "start": "2026-03-17T10:24:31.499103Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "aef12c135db883d478f8ad40b448aa3c5f61462b",
                            "dest": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "aef12c135db883d478f8ad40b448aa3c5f61462b",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/.ansible/tmp/ansible-tmp-1773743071.9608684-84-152087552023368/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "59ab466b0eade4b096680ce4aa2ea737",
                            "mode": "0644",
                            "owner": "root",
                            "size": 16544,
                            "src": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/.ansible/tmp/ansible-tmp-1773743071.9608684-84-152087552023368/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:32.787520Z",
                            "start": "2026-03-17T10:24:31.927045Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-17T10:24:40.792225Z",
                    "start": "2026-03-17T10:24:32.796166Z"
                },
                "id": "0242ac17-0011-3637-a98e-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/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:33.024817Z",
                            "start": "2026-03-17T10:24:32.807509Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:33.066445Z",
                            "start": "2026-03-17T10:24:33.034170Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.351690",
                            "end": "2026-03-17 10:24:33.808088",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_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-3637-a98e-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:24:33.456398",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa.pub\nThe key fingerprint is:\nSHA256:qEBVo6Sat325MeJp/z9Rt0p4eI2UkEuCEfQTrehAoLw zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|  ..oo*+.. .     |\n|.. +...o..=      |\n|..o..  .o+ o .   |\n| +. . ..... + .  |\n|oEo  o. S  = + . |\n| . + ...  + = o  |\n|  . + =    = .   |\n|   ..+ +  . .    |\n|   .o.o.....     |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:qEBVo6Sat325MeJp/z9Rt0p4eI2UkEuCEfQTrehAoLw zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|  ..oo*+.. .     |",
                                "|.. +...o..=      |",
                                "|..o..  .o+ o .   |",
                                "| +. . ..... + .  |",
                                "|oEo  o. S  = + . |",
                                "| . + ...  + = o  |",
                                "|  . + =    = .   |",
                                "|   ..+ +  . .    |",
                                "|   .o.o.....     |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-3637-a98e-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:33.854915Z",
                            "start": "2026-03-17T10:24:33.092271Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:33.885209Z",
                            "start": "2026-03-17T10:24:33.861035Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:34.409991Z",
                            "start": "2026-03-17T10:24:33.905245Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC36X1OKb55elEh4yxGFS4mdv8JGvdKhhARYja5x5I0JNQw2RqTtfORfKoLqaX4/ZYgpNO1ESOi+xtjrnu+EYYZH8cfAiiXCAxU3/rQeW5xBZIdNC2DGuCw89b7hzNrkXufrp9oDfCtuLEvRWkBjV64efDxEJ2BcNDPLP4/aMkbatME1Yv83O6m7r7IQ8Kgyv45hNTj73qeOjHgqQsH5yxRCmMMNAcaLFZOGZdgZBm5dgQ7/3X2kQAoVSFeb1Up+mSaGoPwHV/kMW19mzrHHRSMJJWeROpqnaanyv1gqY7gLWWQnZc9Mkw5Cj+48EAc818M1OMzpynCWJpKwIb6fsVP6SERl4DajQSV9gVxf14tzfpTnZ/KuyZTUFrW34/X/mpLXf/aiYWXXLMOSgYaazllvnlbltX9qexnS0fwjIAkGA5QdMwiFKxjT0yYcTNWL/xRd/7NrNEDJn2Wyt6nRMv0u7hunndeTNPlot4jkCcUN0dORB3x4Il2GFpm8KYWbL8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC36X1OKb55elEh4yxGFS4mdv8JGvdKhhARYja5x5I0JNQw2RqTtfORfKoLqaX4/ZYgpNO1ESOi+xtjrnu+EYYZH8cfAiiXCAxU3/rQeW5xBZIdNC2DGuCw89b7hzNrkXufrp9oDfCtuLEvRWkBjV64efDxEJ2BcNDPLP4/aMkbatME1Yv83O6m7r7IQ8Kgyv45hNTj73qeOjHgqQsH5yxRCmMMNAcaLFZOGZdgZBm5dgQ7/3X2kQAoVSFeb1Up+mSaGoPwHV/kMW19mzrHHRSMJJWeROpqnaanyv1gqY7gLWWQnZc9Mkw5Cj+48EAc818M1OMzpynCWJpKwIb6fsVP6SERl4DajQSV9gVxf14tzfpTnZ/KuyZTUFrW34/X/mpLXf/aiYWXXLMOSgYaazllvnlbltX9qexnS0fwjIAkGA5QdMwiFKxjT0yYcTNWL/xRd/7NrNEDJn2Wyt6nRMv0u7hunndeTNPlot4jkCcUN0dORB3x4Il2GFpm8KYWbL8= 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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:34.869106Z",
                            "start": "2026-03-17T10:24:34.422018Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:35.067521Z",
                            "start": "2026-03-17T10:24:34.874426Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "e0ccfb229e76369d8bd6dbbfbe0a43f090bb65ef",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b253d34f6b704ea990984eb612761079_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "e0ccfb229e76369d8bd6dbbfbe0a43f090bb65ef",
                                    "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-1773743075.1203916-190-9823915857347/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a89d9184055254794eb423b35474c17d",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773743075.1203916-190-9823915857347/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:35.561219Z",
                            "start": "2026-03-17T10:24:35.072538Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "741b6399de2104f6ea085a33956bb59a8a617c15",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b253d34f6b704ea990984eb612761079_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "741b6399de2104f6ea085a33956bb59a8a617c15",
                                    "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-1773743075.6112728-200-139458350398436/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "509c52a1097edecb56412a52e64568e5",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773743075.6112728-200-139458350398436/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:36.030543Z",
                            "start": "2026-03-17T10:24:35.566472Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:36.058910Z",
                            "start": "2026-03-17T10:24:36.035046Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:36.489589Z",
                            "start": "2026-03-17T10:24:36.072319Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa"
                            ],
                            "delta": "0:00:00.017610",
                            "end": "2026-03-17 10:24:36.787605",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_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-3637-a98e-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:24:36.769995",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/b253d34f6b704ea990984eb612761079_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-3637-a98e-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:36.838940Z",
                            "start": "2026-03-17T10:24:36.509886Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:37.289546Z",
                            "start": "2026-03-17T10:24:36.847493Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:37.322611Z",
                            "start": "2026-03-17T10:24:37.298123Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:37.815680Z",
                            "start": "2026-03-17T10:24:37.341518Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:39.683605Z",
                            "start": "2026-03-17T10:24:37.827913Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:40.240195Z",
                            "start": "2026-03-17T10:24:39.694823Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-3637-a98e-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:40.792225Z",
                            "start": "2026-03-17T10:24:40.247659Z"
                        },
                        "id": "0242ac17-0011-3637-a98e-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-17T10:24:44.288639Z",
                    "start": "2026-03-17T10:24:41.501568Z"
                },
                "id": "0242ac17-0011-5583-fd47-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-1773743081.5485463-5-177408752772907/uv-x86_64-unknown-linux-gnugbmojlv8.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-1773743081.5485463-5-177408752772907/uv-x86_64-unknown-linux-gnugbmojlv8.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5583-fd47-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:43.743614Z",
                            "start": "2026-03-17T10:24:41.513920Z"
                        },
                        "id": "0242ac17-0011-5583-fd47-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.012486",
                            "end": "2026-03-17 10:24:44.095988",
                            "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-5583-fd47-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:24:44.083502",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-5583-fd47-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5583-fd47-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:44.288639Z",
                            "start": "2026-03-17T10:24:43.770916Z"
                        },
                        "id": "0242ac17-0011-5583-fd47-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2025.2",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-17T10:24:54.865274Z",
                    "start": "2026-03-17T10:24:44.999133Z"
                },
                "id": "0242ac17-0011-c70b-09a7-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1773743090,
                            "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 (552 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 (552 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-17T10:24:54.865274Z",
                            "start": "2026-03-17T10:24:45.011305Z"
                        },
                        "id": "0242ac17-0011-c70b-09a7-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-17T10:31:58.302878Z",
                    "start": "2026-03-17T10:24:55.565313Z"
                },
                "id": "0242ac17-0011-e201-2de2-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "aef12c135db883d478f8ad40b448aa3c5f61462b",
                            "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": "aef12c135db883d478f8ad40b448aa3c5f61462b",
                                    "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-1773743095.6203535-5-68990194256138/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "59ab466b0eade4b096680ce4aa2ea737",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 16544,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1773743095.6203535-5-68990194256138/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:24:56.433236Z",
                            "start": "2026-03-17T10:24:55.578084Z"
                        },
                        "id": "0242ac17-0011-e201-2de2-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-17T10:24:56.716686Z",
                            "start": "2026-03-17T10:24:56.438810Z"
                        },
                        "id": "0242ac17-0011-e201-2de2-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "csi"
                            ],
                            "delta": "0:07:00.826406",
                            "end": "2026-03-17 10:31:57.880644",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s csi",
                                    "_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-e201-2de2-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-03-17 10:24:57.054238",
                            "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 openstacksdk (1.7MiB)\nDownloading cryptography (4.2MiB)\nDownloading netaddr (2.2MiB)\nDownloading pygments (1.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading kubernetes (1.9MiB)\nDownloading pydantic-core (2.0MiB)\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 40ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [csi > prerun] Performing prerun with role_name_check=0...\nINFO     [csi > dependency] Executing\nWARNING  [csi > dependency] Missing roles requirements file: requirements.yml\nWARNING  [csi > dependency] Missing collections requirements file: collections.yml\nWARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [csi > cleanup] Executing\nWARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > destroy] Executing\nWARNING  [csi > destroy] Skipping, '--destroy=never' requested.\nINFO     [csi > destroy] Executed: Successful\nINFO     [csi > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nINFO     [csi > syntax] Executed: Successful\nINFO     [csi > create] Executing\nWARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:25:43 +0000 (0:00:00.025)       0:00:00.025 *********\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] ************************************************\nTuesday 17 March 2026  10:25:44 +0000 (0:00:01.190)       0:00:01.216 *********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nTuesday 17 March 2026  10:25:44 +0000 (0:00:00.746)       0:00:01.963 *********\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 [Purge \"snapd\" package] ***************************************************\nTuesday 17 March 2026  10:25:45 +0000 (0:00:00.287)       0:00:02.250 *********\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:25:46 +0000 (0:00:00.789)       0:00:03.040 *********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nTuesday 17 March 2026  10:25:46 +0000 (0:00:00.745)       0:00:03.785 *********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nTuesday 17 March 2026  10:26:08 +0000 (0:00:21.481)       0:00:25.267 *********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nTuesday 17 March 2026  10:26:08 +0000 (0:00:00.550)       0:00:25.817 *********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nTuesday 17 March 2026  10:26:09 +0000 (0:00:00.288)       0:00:26.106 *********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nTuesday 17 March 2026  10:26:09 +0000 (0:00:00.685)       0:00:26.792 *********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nTuesday 17 March 2026  10:26:09 +0000 (0:00:00.210)       0:00:27.002 *********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nTuesday 17 March 2026  10:26:10 +0000 (0:00:00.023)       0:00:27.025 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nTuesday 17 March 2026  10:26:10 +0000 (0:00:00.569)       0:00:27.595 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nTuesday 17 March 2026  10:26:11 +0000 (0:00:00.640)       0:00:28.235 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nTuesday 17 March 2026  10:26:11 +0000 (0:00:00.704)       0:00:28.939 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nTuesday 17 March 2026  10:26:15 +0000 (0:00:03.115)       0:00:32.054 *********\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nTuesday 17 March 2026  10:26:17 +0000 (0:00:02.007)       0:00:34.062 *********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 21.48s\nCreate a volume group for each loop device ------------------------------ 3.12s\nCreate a logical volume for each loop device ---------------------------- 2.01s\nGathering Facts --------------------------------------------------------- 1.19s\nPurge \"snapd\" package --------------------------------------------------- 0.79s\nConfigure short hostname ------------------------------------------------ 0.75s\nGathering Facts --------------------------------------------------------- 0.75s\nStart loop devices ------------------------------------------------------ 0.70s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.69s\nSet permissions on loopback devices ------------------------------------- 0.64s\nCreate devices for Ceph ------------------------------------------------- 0.57s\nStart up service -------------------------------------------------------- 0.55s\nGenerate lvm.conf ------------------------------------------------------- 0.29s\nEnsure hostname inside hosts file --------------------------------------- 0.29s\nGet list of all loopback devices ---------------------------------------- 0.21s\nFail if there is any existing loopback devices -------------------------- 0.02s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:26:18 +0000 (0:00:00.008)       0:00:00.008 *********\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 [Display CSI driver value and environment variable] ***********************\nTuesday 17 March 2026  10:26:19 +0000 (0:00:00.992)       0:00:01.000 *********\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:26:19 +0000 (0:00:00.044)       0:00:01.045 *********\nok: [instance]\n\nTASK [Fail if atmosphere_ceph_enabled is set] **********************************\nTuesday 17 March 2026  10:26:20 +0000 (0:00:00.853)       0:00:01.898 *********\nskipping: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 17 March 2026  10:26:20 +0000 (0:00:00.040)       0:00:01.938 *********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:26:20 +0000 (0:00:00.175)       0:00:02.114 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:26:21 +0000 (0:00:00.892)       0:00:03.007 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:26:21 +0000 (0:00:00.271)       0:00:03.278 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 17 March 2026  10:26:21 +0000 (0:00:00.043)       0:00:03.322 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:26:22 +0000 (0:00:00.329)       0:00:03.652 *********\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] *******************\nTuesday 17 March 2026  10:26:22 +0000 (0:00:00.070)       0:00:03.722 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:26:22 +0000 (0:00:00.645)       0:00:04.368 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:26:22 +0000 (0:00:00.042)       0:00:04.411 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:26:22 +0000 (0:00:00.042)       0:00:04.454 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:26:23 +0000 (0:00:00.195)       0:00:04.650 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:26:24 +0000 (0:00:01.293)       0:00:05.943 *********\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] *******************\nTuesday 17 March 2026  10:26:24 +0000 (0:00:00.069)       0:00:06.013 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:26:25 +0000 (0:00:00.662)       0:00:06.675 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 17 March 2026  10:26:28 +0000 (0:00:02.865)       0:00:09.541 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 17 March 2026  10:26:28 +0000 (0:00:00.036)       0:00:09.577 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 17 March 2026  10:26:28 +0000 (0:00:00.031)       0:00:09.609 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 17 March 2026  10:26:28 +0000 (0:00:00.038)       0:00:09.647 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 17 March 2026  10:26:33 +0000 (0:00:05.359)       0:00:15.007 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 17 March 2026  10:26:34 +0000 (0:00:00.638)       0:00:15.645 *********\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] **********\nTuesday 17 March 2026  10:26:35 +0000 (0:00:00.958)       0:00:16.604 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 17 March 2026  10:26:35 +0000 (0:00:00.595)       0:00:17.199 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 17 March 2026  10:26:35 +0000 (0:00:00.016)       0:00:17.215 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nTuesday 17 March 2026  10:26:36 +0000 (0:00:00.939)       0:00:18.155 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 17 March 2026  10:26:37 +0000 (0:00:00.451)       0:00:18.607 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:26:37 +0000 (0:00:00.537)       0:00:19.145 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:26:37 +0000 (0:00:00.200)       0:00:19.345 *********\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] *******************\nTuesday 17 March 2026  10:26:37 +0000 (0:00:00.055)       0:00:19.400 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:26:39 +0000 (0:00:01.140)       0:00:20.541 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 17 March 2026  10:26:43 +0000 (0:00:04.381)       0:00:24.922 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 17 March 2026  10:26:44 +0000 (0:00:01.090)       0:00:26.012 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 17 March 2026  10:26:44 +0000 (0:00:00.385)       0:00:26.398 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 17 March 2026  10:26:45 +0000 (0:00:00.475)       0:00:26.873 *********\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] ******\nTuesday 17 March 2026  10:26:45 +0000 (0:00:00.572)       0:00:27.446 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 17 March 2026  10:26:46 +0000 (0:00:00.446)       0:00:27.892 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 17 March 2026  10:26:46 +0000 (0:00:00.484)       0:00:28.377 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 17 March 2026  10:26:46 +0000 (0:00:00.016)       0:00:28.394 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nTuesday 17 March 2026  10:26:47 +0000 (0:00:00.739)       0:00:29.134 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 17 March 2026  10:26:48 +0000 (0:00:00.972)       0:00:30.106 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 17 March 2026  10:26:49 +0000 (0:00:00.562)       0:00:30.669 *********\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] ********************************\nTuesday 17 March 2026  10:26:49 +0000 (0:00:00.059)       0:00:30.729 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 17 March 2026  10:26:54 +0000 (0:00:04.799)       0:00:35.529 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 17 March 2026  10:26:54 +0000 (0:00:00.671)       0:00:36.200 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 17 March 2026  10:26:55 +0000 (0:00:00.298)       0:00:36.499 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 17 March 2026  10:26:55 +0000 (0:00:00.217)       0:00:36.716 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 17 March 2026  10:26:55 +0000 (0:00:00.470)       0:00:37.187 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nTuesday 17 March 2026  10:26:56 +0000 (0:00:00.335)       0:00:37.523 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:01.638)       0:00:39.162 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.064)       0:00:39.226 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.042)       0:00:39.268 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.040)       0:00:39.309 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.053)       0:00:39.362 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.038)       0:00:39.401 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nTuesday 17 March 2026  10:26:57 +0000 (0:00:00.043)       0:00:39.444 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.040)       0:00:39.485 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.040)       0:00:39.526 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.127)       0:00:39.653 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.240)       0:00:39.894 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.055)       0:00:39.950 *********\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\"] *************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.088)       0:00:40.039 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nTuesday 17 March 2026  10:26:58 +0000 (0:00:00.321)       0:00:40.361 *********\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] *******************************\nTuesday 17 March 2026  10:26:59 +0000 (0:00:00.743)       0:00:41.104 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nTuesday 17 March 2026  10:28:32 +0000 (0:01:32.931)       0:02:14.036 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nTuesday 17 March 2026  10:28:32 +0000 (0:00:00.203)       0:02:14.239 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 17 March 2026  10:28:32 +0000 (0:00:00.048)       0:02:14.287 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 17 March 2026  10:28:32 +0000 (0:00:00.077)       0:02:14.365 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 17 March 2026  10:28:34 +0000 (0:00:01.353)       0:02:15.719 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 17 March 2026  10:28:34 +0000 (0:00:00.071)       0:02:15.791 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 17 March 2026  10:28:34 +0000 (0:00:00.410)       0:02:16.201 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nTuesday 17 March 2026  10:28:36 +0000 (0:00:01.875)       0:02:18.077 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nTuesday 17 March 2026  10:28:38 +0000 (0:00:01.627)       0:02:19.705 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 17 March 2026  10:28:48 +0000 (0:00:10.067)       0:02:29.772 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 17 March 2026  10:28:48 +0000 (0:00:00.069)       0:02:29.842 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 17 March 2026  10:28:48 +0000 (0:00:00.052)       0:02:29.895 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 17 March 2026  10:28:48 +0000 (0:00:00.045)       0:02:29.940 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 17 March 2026  10:28:48 +0000 (0:00:00.244)       0:02:30.185 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nTuesday 17 March 2026  10:28:50 +0000 (0:00:01.796)       0:02:31.981 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nTuesday 17 March 2026  10:28:51 +0000 (0:00:01.394)       0:02:33.375 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nTuesday 17 March 2026  10:28:53 +0000 (0:00:01.533)       0:02:34.908 *********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:28:56 +0000 (0:00:02.602)       0:02:37.511 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:28:56 +0000 (0:00:00.871)       0:02:38.382 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.200)       0:02:38.583 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.040)       0:02:38.624 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.200)       0:02:38.825 *********\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] *******************\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.053)       0:02:38.878 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.302)       0:02:39.181 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.048)       0:02:39.230 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:28:57 +0000 (0:00:00.049)       0:02:39.279 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:28:58 +0000 (0:00:00.205)       0:02:39.485 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:28:59 +0000 (0:00:00.985)       0:02:40.471 *********\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] *******************\nTuesday 17 March 2026  10:28:59 +0000 (0:00:00.063)       0:02:40.534 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:28:59 +0000 (0:00:00.333)       0:02:40.868 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 17 March 2026  10:29:01 +0000 (0:00:01.922)       0:02:42.790 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 17 March 2026  10:29:01 +0000 (0:00:00.033)       0:02:42.824 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 17 March 2026  10:29:01 +0000 (0:00:00.032)       0:02:42.856 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 17 March 2026  10:29:01 +0000 (0:00:00.033)       0:02:42.890 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 17 March 2026  10:29:02 +0000 (0:00:01.120)       0:02:44.010 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 17 March 2026  10:29:02 +0000 (0:00:00.448)       0:02:44.459 *********\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] **********\nTuesday 17 March 2026  10:29:03 +0000 (0:00:00.915)       0:02:45.374 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 17 March 2026  10:29:04 +0000 (0:00:00.471)       0:02:45.846 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 17 March 2026  10:29:04 +0000 (0:00:00.014)       0:02:45.860 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:29:04 +0000 (0:00:00.352)       0:02:46.213 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:29:04 +0000 (0:00:00.195)       0:02:46.408 *********\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] *******************\nTuesday 17 March 2026  10:29:04 +0000 (0:00:00.052)       0:02:46.460 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:29:05 +0000 (0:00:00.324)       0:02:46.785 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 17 March 2026  10:29:08 +0000 (0:00:03.005)       0:02:49.791 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 17 March 2026  10:29:09 +0000 (0:00:00.994)       0:02:50.785 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 17 March 2026  10:29:09 +0000 (0:00:00.188)       0:02:50.973 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 17 March 2026  10:29:09 +0000 (0:00:00.407)       0:02:51.380 *********\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] ******\nTuesday 17 March 2026  10:29:10 +0000 (0:00:00.589)       0:02:51.970 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 17 March 2026  10:29:10 +0000 (0:00:00.413)       0:02:52.383 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 17 March 2026  10:29:11 +0000 (0:00:00.448)       0:02:52.832 *********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 17 March 2026  10:29:11 +0000 (0:00:00.015)       0:02:52.848 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 17 March 2026  10:29:11 +0000 (0:00:00.347)       0:02:53.196 *********\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] ********************************\nTuesday 17 March 2026  10:29:11 +0000 (0:00:00.054)       0:02:53.250 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 17 March 2026  10:29:12 +0000 (0:00:01.083)       0:02:54.333 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 17 March 2026  10:29:13 +0000 (0:00:00.675)       0:02:55.008 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 17 March 2026  10:29:13 +0000 (0:00:00.290)       0:02:55.298 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 17 March 2026  10:29:14 +0000 (0:00:00.194)       0:02:55.493 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 17 March 2026  10:29:14 +0000 (0:00:00.241)       0:02:55.734 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nTuesday 17 March 2026  10:29:14 +0000 (0:00:00.232)       0:02:55.967 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nTuesday 17 March 2026  10:29:14 +0000 (0:00:00.237)       0:02:56.204 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nTuesday 17 March 2026  10:29:14 +0000 (0:00:00.048)       0:02:56.253 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nTuesday 17 March 2026  10:29:20 +0000 (0:00:05.301)       0:03:01.555 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 17 March 2026  10:29:20 +0000 (0:00:00.049)       0:03:01.604 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 17 March 2026  10:29:20 +0000 (0:00:00.068)       0:03:01.673 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 17 March 2026  10:29:20 +0000 (0:00:00.054)       0:03:01.727 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 17 March 2026  10:29:20 +0000 (0:00:00.046)       0:03:01.774 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 17 March 2026  10:29:20 +0000 (0:00:00.253)       0:03:02.027 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nTuesday 17 March 2026  10:29:22 +0000 (0:00:01.883)       0:03:03.911 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nTuesday 17 March 2026  10:29:22 +0000 (0:00:00.030)       0:03:03.941 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nTuesday 17 March 2026  10:29:22 +0000 (0:00:00.032)       0:03:03.973 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nTuesday 17 March 2026  10:29:27 +0000 (0:00:05.339)       0:03:09.313 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nTuesday 17 March 2026  10:29:37 +0000 (0:00:09.940)       0:03:19.253 *********\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] ****************************************\nTuesday 17 March 2026  10:30:58 +0000 (0:01:20.755)       0:04:40.009 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nTuesday 17 March 2026  10:31:00 +0000 (0:00:01.616)       0:04:41.625 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nTuesday 17 March 2026  10:31:01 +0000 (0:00:01.453)       0:04:43.079 *********\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] *********************************\nTuesday 17 March 2026  10:31:01 +0000 (0:00:00.075)       0:04:43.154 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nTuesday 17 March 2026  10:31:01 +0000 (0:00:00.053)       0:04:43.208 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nTuesday 17 March 2026  10:31:03 +0000 (0:00:01.537)       0:04:44.746 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nTuesday 17 March 2026  10:31:03 +0000 (0:00:00.060)       0:04:44.806 *********\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] ************************\nTuesday 17 March 2026  10:31:03 +0000 (0:00:00.049)       0:04:44.856 *********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nTuesday 17 March 2026  10:31:03 +0000 (0:00:00.054)       0:04:44.910 *********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:31:03 +0000 (0:00:00.422)       0:04:45.332 *********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nTuesday 17 March 2026  10:31:04 +0000 (0:00:01.015)       0:04:46.347 *********\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] ***\nTuesday 17 March 2026  10:31:08 +0000 (0:00:04.010)       0:04:50.358 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nTuesday 17 March 2026  10:31:09 +0000 (0:00:00.190)       0:04:50.549 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nTuesday 17 March 2026  10:31:09 +0000 (0:00:00.488)       0:04:51.037 *********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 17 March 2026  10:31:09 +0000 (0:00:00.256)       0:04:51.294 *********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:31:09 +0000 (0:00:00.050)       0:04:51.344 *********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nTuesday 17 March 2026  10:31:10 +0000 (0:00:00.865)       0:04:52.209 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nTuesday 17 March 2026  10:31:10 +0000 (0:00:00.225)       0:04:52.435 *********\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] ****\nTuesday 17 March 2026  10:31:11 +0000 (0:00:00.943)       0:04:53.378 *********\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] *********\nTuesday 17 March 2026  10:31:12 +0000 (0:00:00.506)       0:04:53.885 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nTuesday 17 March 2026  10:31:12 +0000 (0:00:00.182)       0:04:54.067 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nTuesday 17 March 2026  10:31:12 +0000 (0:00:00.188)       0:04:54.255 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nTuesday 17 March 2026  10:31:12 +0000 (0:00:00.034)       0:04:54.290 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nTuesday 17 March 2026  10:31:12 +0000 (0:00:00.037)       0:04:54.327 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nTuesday 17 March 2026  10:31:13 +0000 (0:00:00.560)       0:04:54.888 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nTuesday 17 March 2026  10:31:13 +0000 (0:00:00.202)       0:04:55.091 *********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 17 March 2026  10:31:13 +0000 (0:00:00.061)       0:04:55.152 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:14 +0000 (0:00:00.925)       0:04:56.078 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:31:14 +0000 (0:00:00.211)       0:04:56.289 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 17 March 2026  10:31:14 +0000 (0:00:00.033)       0:04:56.322 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:15 +0000 (0:00:00.208)       0:04:56.531 *********\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] *******************\nTuesday 17 March 2026  10:31:15 +0000 (0:00:00.067)       0:04:56.598 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:15 +0000 (0:00:00.318)       0:04:56.917 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:15 +0000 (0:00:00.053)       0:04:56.970 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 17 March 2026  10:31:15 +0000 (0:00:00.219)       0:04:57.189 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:16 +0000 (0:00:01.027)       0:04:58.217 *********\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] *******************\nTuesday 17 March 2026  10:31:16 +0000 (0:00:00.065)       0:04:58.282 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:17 +0000 (0:00:00.348)       0:04:58.631 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 17 March 2026  10:31:19 +0000 (0:00:01.960)       0:05:00.591 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 17 March 2026  10:31:19 +0000 (0:00:00.030)       0:05:00.622 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 17 March 2026  10:31:19 +0000 (0:00:00.029)       0:05:00.651 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 17 March 2026  10:31:19 +0000 (0:00:00.030)       0:05:00.682 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 17 March 2026  10:31:20 +0000 (0:00:00.978)       0:05:01.661 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 17 March 2026  10:31:20 +0000 (0:00:00.454)       0:05:02.115 *********\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] **********\nTuesday 17 March 2026  10:31:21 +0000 (0:00:00.925)       0:05:03.040 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 17 March 2026  10:31:22 +0000 (0:00:00.486)       0:05:03.527 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 17 March 2026  10:31:22 +0000 (0:00:00.007)       0:05:03.534 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nTuesday 17 March 2026  10:31:22 +0000 (0:00:00.347)       0:05:03.882 *********\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] ***\nTuesday 17 March 2026  10:31:22 +0000 (0:00:00.574)       0:05:04.456 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.028)       0:05:04.484 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.034)       0:05:04.518 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.028)       0:05:04.547 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.032)       0:05:04.579 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.052)       0:05:04.632 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.220)       0:05:04.852 *********\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] *******************\nTuesday 17 March 2026  10:31:23 +0000 (0:00:00.035)       0:05:04.888 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:24 +0000 (0:00:00.921)       0:05:05.809 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:24 +0000 (0:00:00.040)       0:05:05.849 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:24 +0000 (0:00:00.206)       0:05:06.055 *********\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] *******************\nTuesday 17 March 2026  10:31:24 +0000 (0:00:00.042)       0:05:06.098 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:25 +0000 (0:00:00.995)       0:05:07.094 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 17 March 2026  10:31:25 +0000 (0:00:00.050)       0:05:07.144 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 17 March 2026  10:31:25 +0000 (0:00:00.033)       0:05:07.177 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 17 March 2026  10:31:25 +0000 (0:00:00.030)       0:05:07.208 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 17 March 2026  10:31:25 +0000 (0:00:00.032)       0:05:07.240 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 17 March 2026  10:31:26 +0000 (0:00:00.942)       0:05:08.182 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 17 March 2026  10:31:27 +0000 (0:00:00.434)       0:05:08.617 *********\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] **********\nTuesday 17 March 2026  10:31:28 +0000 (0:00:00.875)       0:05:09.493 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 17 March 2026  10:31:28 +0000 (0:00:00.459)       0:05:09.952 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 17 March 2026  10:31:28 +0000 (0:00:00.006)       0:05:09.959 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:28 +0000 (0:00:00.346)       0:05:10.305 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:29 +0000 (0:00:00.199)       0:05:10.505 *********\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] *******************\nTuesday 17 March 2026  10:31:29 +0000 (0:00:00.052)       0:05:10.557 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:29 +0000 (0:00:00.576)       0:05:11.134 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:31 +0000 (0:00:01.384)       0:05:12.519 *********\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] *******************\nTuesday 17 March 2026  10:31:31 +0000 (0:00:00.046)       0:05:12.566 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:31 +0000 (0:00:00.597)       0:05:13.163 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nTuesday 17 March 2026  10:31:33 +0000 (0:00:01.413)       0:05:14.576 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nTuesday 17 March 2026  10:31:33 +0000 (0:00:00.472)       0:05:15.049 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:33 +0000 (0:00:00.205)       0:05:15.254 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:34 +0000 (0:00:00.206)       0:05:15.461 *********\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] *******************\nTuesday 17 March 2026  10:31:34 +0000 (0:00:00.049)       0:05:15.510 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:34 +0000 (0:00:00.897)       0:05:16.408 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nTuesday 17 March 2026  10:31:37 +0000 (0:00:02.683)       0:05:19.092 *********\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] ***********\nTuesday 17 March 2026  10:31:37 +0000 (0:00:00.051)       0:05:19.143 *********\nok: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nTuesday 17 March 2026  10:31:38 +0000 (0:00:01.117)       0:05:20.261 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nTuesday 17 March 2026  10:31:38 +0000 (0:00:00.195)       0:05:20.456 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nTuesday 17 March 2026  10:31:39 +0000 (0:00:00.444)       0:05:20.901 *********\nchanged: [instance] => (item=br_netfilter)\nok: [instance] => (item=ip_tables)\nchanged: [instance] => (item=ip6_tables)\nchanged: [instance] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 17 March 2026  10:31:40 +0000 (0:00:00.750)       0:05:21.651 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 17 March 2026  10:31:40 +0000 (0:00:00.196)       0:05:21.848 *********\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] *******************\nTuesday 17 March 2026  10:31:40 +0000 (0:00:00.041)       0:05:21.889 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 17 March 2026  10:31:41 +0000 (0:00:01.452)       0:05:23.342 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nTuesday 17 March 2026  10:31:41 +0000 (0:00:00.037)       0:05:23.380 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nTuesday 17 March 2026  10:31:41 +0000 (0:00:00.050)       0:05:23.430 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nTuesday 17 March 2026  10:31:41 +0000 (0:00:00.029)       0:05:23.460 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nTuesday 17 March 2026  10:31:45 +0000 (0:00:03.352)       0:05:26.812 *********\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] ***\nTuesday 17 March 2026  10:31:47 +0000 (0:00:02.254)       0:05:29.066 *********\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] ********\nTuesday 17 March 2026  10:31:48 +0000 (0:00:00.531)       0:05:29.598 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nTuesday 17 March 2026  10:31:48 +0000 (0:00:00.438)       0:05:30.037 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nTuesday 17 March 2026  10:31:49 +0000 (0:00:00.451)       0:05:30.488 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nTuesday 17 March 2026  10:31:49 +0000 (0:00:00.196)       0:05:30.685 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nTuesday 17 March 2026  10:31:49 +0000 (0:00:00.035)       0:05:30.720 *********\nok: [instance] => (item=swap)\nok: [instance] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nTuesday 17 March 2026  10:31:49 +0000 (0:00:00.487)       0:05:31.208 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nTuesday 17 March 2026  10:31:50 +0000 (0:00:00.444)       0:05:31.652 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nTuesday 17 March 2026  10:31:50 +0000 (0:00:00.574)       0:05:32.226 *********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nTuesday 17 March 2026  10:31:50 +0000 (0:00:00.008)       0:05:32.235 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nTuesday 17 March 2026  10:31:51 +0000 (0:00:00.760)       0:05:32.996 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nTuesday 17 March 2026  10:31:52 +0000 (0:00:00.573)       0:05:33.569 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nTuesday 17 March 2026  10:31:53 +0000 (0:00:00.997)       0:05:34.566 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nTuesday 17 March 2026  10:31:53 +0000 (0:00:00.739)       0:05:35.305 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.202)       0:05:35.508 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.446)       0:05:35.955 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.077)       0:05:36.032 *********\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] ***\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.075)       0:05:36.108 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.225)       0:05:36.333 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.041)       0:05:36.375 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nTuesday 17 March 2026  10:31:54 +0000 (0:00:00.053)       0:05:36.428 *********\nok: [instance] => {\n    \"msg\": \"instance\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.036)       0:05:36.464 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.664)       0:05:37.129 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.038)       0:05:37.168 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.039)       0:05:37.207 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.031)       0:05:37.239 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.079)       0:05:37.318 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.034)       0:05:37.352 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.035)       0:05:37.387 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nTuesday 17 March 2026  10:31:55 +0000 (0:00:00.039)       0:05:37.427 *********\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.433530\", \"end\": \"2026-03-17 10:31:57.579848\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-03-17 10:31:56.146318\", \"stderr\": \"W0317 10:31:56.182008   37229 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: E0317 10:31:56.511633   37330 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-17T10:31:56Z\\\" 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: E0317 10:31:56.682042   37400 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-17T10:31:56Z\\\" 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: E0317 10:31:56.857537   37470 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-17T10:31:56Z\\\" 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: E0317 10:31:57.028538   37536 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-17T10:31:57Z\\\" 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: E0317 10:31:57.222407   37614 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-17T10:31:57Z\\\" 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: E0317 10:31:57.391048   37681 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-17T10:31:57Z\\\" 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: E0317 10:31:57.572675   37748 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-17T10:31:57Z\\\" 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\": [\"W0317 10:31:56.182008   37229 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: E0317 10:31:56.511633   37330 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-17T10:31:56Z\\\" 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: E0317 10:31:56.682042   37400 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-17T10:31:56Z\\\" 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: E0317 10:31:56.857537   37470 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-17T10:31:56Z\\\" 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: E0317 10:31:57.028538   37536 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-17T10:31:57Z\\\" 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: E0317 10:31:57.222407   37614 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-17T10:31:57Z\\\" 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: E0317 10:31:57.391048   37681 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-17T10:31:57Z\\\" 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: E0317 10:31:57.572675   37748 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-17T10:31:57Z\\\" 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=201  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2\n\nTuesday 17 March 2026  10:31:57 +0000 (0:00:01.645)       0:05:39.072 *********\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 92.93s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 80.76s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.07s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.94s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.36s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.34s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.30s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.80s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.38s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 4.01s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.35s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.01s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.87s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.68s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.60s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.25s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.96s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.92s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.88s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.88s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/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 openstacksdk (1.7MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "   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 40ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [csi > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [csi > dependency] Executing",
                                "WARNING  [csi > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [csi > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [csi > cleanup] Executing",
                                "WARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > destroy] Executing",
                                "WARNING  [csi > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [csi > destroy] Executed: Successful",
                                "INFO     [csi > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "INFO     [csi > syntax] Executed: Successful",
                                "INFO     [csi > create] Executing",
                                "WARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:25:43 +0000 (0:00:00.025)       0:00:00.025 *********",
                                "[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] ************************************************",
                                "Tuesday 17 March 2026  10:25:44 +0000 (0:00:01.190)       0:00:01.216 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Tuesday 17 March 2026  10:25:44 +0000 (0:00:00.746)       0:00:01.963 *********",
                                "[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 [Purge \"snapd\" package] ***************************************************",
                                "Tuesday 17 March 2026  10:25:45 +0000 (0:00:00.287)       0:00:02.250 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:25:46 +0000 (0:00:00.789)       0:00:03.040 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Tuesday 17 March 2026  10:25:46 +0000 (0:00:00.745)       0:00:03.785 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Tuesday 17 March 2026  10:26:08 +0000 (0:00:21.481)       0:00:25.267 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Tuesday 17 March 2026  10:26:08 +0000 (0:00:00.550)       0:00:25.817 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Tuesday 17 March 2026  10:26:09 +0000 (0:00:00.288)       0:00:26.106 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Tuesday 17 March 2026  10:26:09 +0000 (0:00:00.685)       0:00:26.792 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Tuesday 17 March 2026  10:26:09 +0000 (0:00:00.210)       0:00:27.002 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Tuesday 17 March 2026  10:26:10 +0000 (0:00:00.023)       0:00:27.025 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Tuesday 17 March 2026  10:26:10 +0000 (0:00:00.569)       0:00:27.595 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Tuesday 17 March 2026  10:26:11 +0000 (0:00:00.640)       0:00:28.235 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Tuesday 17 March 2026  10:26:11 +0000 (0:00:00.704)       0:00:28.939 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Tuesday 17 March 2026  10:26:15 +0000 (0:00:03.115)       0:00:32.054 *********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Tuesday 17 March 2026  10:26:17 +0000 (0:00:02.007)       0:00:34.062 *********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 21.48s",
                                "Create a volume group for each loop device ------------------------------ 3.12s",
                                "Create a logical volume for each loop device ---------------------------- 2.01s",
                                "Gathering Facts --------------------------------------------------------- 1.19s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.79s",
                                "Configure short hostname ------------------------------------------------ 0.75s",
                                "Gathering Facts --------------------------------------------------------- 0.75s",
                                "Start loop devices ------------------------------------------------------ 0.70s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.69s",
                                "Set permissions on loopback devices ------------------------------------- 0.64s",
                                "Create devices for Ceph ------------------------------------------------- 0.57s",
                                "Start up service -------------------------------------------------------- 0.55s",
                                "Generate lvm.conf ------------------------------------------------------- 0.29s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.29s",
                                "Get list of all loopback devices ---------------------------------------- 0.21s",
                                "Fail if there is any existing loopback devices -------------------------- 0.02s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:26:18 +0000 (0:00:00.008)       0:00:00.008 *********",
                                "[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 [Display CSI driver value and environment variable] ***********************",
                                "Tuesday 17 March 2026  10:26:19 +0000 (0:00:00.992)       0:00:01.000 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:26:19 +0000 (0:00:00.044)       0:00:01.045 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "Tuesday 17 March 2026  10:26:20 +0000 (0:00:00.853)       0:00:01.898 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 17 March 2026  10:26:20 +0000 (0:00:00.040)       0:00:01.938 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:26:20 +0000 (0:00:00.175)       0:00:02.114 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:26:21 +0000 (0:00:00.892)       0:00:03.007 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:26:21 +0000 (0:00:00.271)       0:00:03.278 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 17 March 2026  10:26:21 +0000 (0:00:00.043)       0:00:03.322 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:26:22 +0000 (0:00:00.329)       0:00:03.652 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:26:22 +0000 (0:00:00.070)       0:00:03.722 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:26:22 +0000 (0:00:00.645)       0:00:04.368 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:26:22 +0000 (0:00:00.042)       0:00:04.411 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:26:22 +0000 (0:00:00.042)       0:00:04.454 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:26:23 +0000 (0:00:00.195)       0:00:04.650 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:26:24 +0000 (0:00:01.293)       0:00:05.943 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:26:24 +0000 (0:00:00.069)       0:00:06.013 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:26:25 +0000 (0:00:00.662)       0:00:06.675 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 17 March 2026  10:26:28 +0000 (0:00:02.865)       0:00:09.541 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 17 March 2026  10:26:28 +0000 (0:00:00.036)       0:00:09.577 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 17 March 2026  10:26:28 +0000 (0:00:00.031)       0:00:09.609 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 17 March 2026  10:26:28 +0000 (0:00:00.038)       0:00:09.647 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 17 March 2026  10:26:33 +0000 (0:00:05.359)       0:00:15.007 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 17 March 2026  10:26:34 +0000 (0:00:00.638)       0:00:15.645 *********",
                                "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] **********",
                                "Tuesday 17 March 2026  10:26:35 +0000 (0:00:00.958)       0:00:16.604 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 17 March 2026  10:26:35 +0000 (0:00:00.595)       0:00:17.199 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 17 March 2026  10:26:35 +0000 (0:00:00.016)       0:00:17.215 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Tuesday 17 March 2026  10:26:36 +0000 (0:00:00.939)       0:00:18.155 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 17 March 2026  10:26:37 +0000 (0:00:00.451)       0:00:18.607 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:26:37 +0000 (0:00:00.537)       0:00:19.145 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:26:37 +0000 (0:00:00.200)       0:00:19.345 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:26:37 +0000 (0:00:00.055)       0:00:19.400 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:26:39 +0000 (0:00:01.140)       0:00:20.541 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 17 March 2026  10:26:43 +0000 (0:00:04.381)       0:00:24.922 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 17 March 2026  10:26:44 +0000 (0:00:01.090)       0:00:26.012 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 17 March 2026  10:26:44 +0000 (0:00:00.385)       0:00:26.398 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 17 March 2026  10:26:45 +0000 (0:00:00.475)       0:00:26.873 *********",
                                "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] ******",
                                "Tuesday 17 March 2026  10:26:45 +0000 (0:00:00.572)       0:00:27.446 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 17 March 2026  10:26:46 +0000 (0:00:00.446)       0:00:27.892 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 17 March 2026  10:26:46 +0000 (0:00:00.484)       0:00:28.377 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 17 March 2026  10:26:46 +0000 (0:00:00.016)       0:00:28.394 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Tuesday 17 March 2026  10:26:47 +0000 (0:00:00.739)       0:00:29.134 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 17 March 2026  10:26:48 +0000 (0:00:00.972)       0:00:30.106 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 17 March 2026  10:26:49 +0000 (0:00:00.562)       0:00:30.669 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 17 March 2026  10:26:49 +0000 (0:00:00.059)       0:00:30.729 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 17 March 2026  10:26:54 +0000 (0:00:04.799)       0:00:35.529 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 17 March 2026  10:26:54 +0000 (0:00:00.671)       0:00:36.200 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 17 March 2026  10:26:55 +0000 (0:00:00.298)       0:00:36.499 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 17 March 2026  10:26:55 +0000 (0:00:00.217)       0:00:36.716 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 17 March 2026  10:26:55 +0000 (0:00:00.470)       0:00:37.187 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Tuesday 17 March 2026  10:26:56 +0000 (0:00:00.335)       0:00:37.523 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:01.638)       0:00:39.162 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.064)       0:00:39.226 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.042)       0:00:39.268 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.040)       0:00:39.309 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.053)       0:00:39.362 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.038)       0:00:39.401 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Tuesday 17 March 2026  10:26:57 +0000 (0:00:00.043)       0:00:39.444 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.040)       0:00:39.485 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.040)       0:00:39.526 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.127)       0:00:39.653 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.240)       0:00:39.894 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.055)       0:00:39.950 *********",
                                "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\"] *************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.088)       0:00:40.039 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Tuesday 17 March 2026  10:26:58 +0000 (0:00:00.321)       0:00:40.361 *********",
                                "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] *******************************",
                                "Tuesday 17 March 2026  10:26:59 +0000 (0:00:00.743)       0:00:41.104 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Tuesday 17 March 2026  10:28:32 +0000 (0:01:32.931)       0:02:14.036 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Tuesday 17 March 2026  10:28:32 +0000 (0:00:00.203)       0:02:14.239 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 17 March 2026  10:28:32 +0000 (0:00:00.048)       0:02:14.287 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 17 March 2026  10:28:32 +0000 (0:00:00.077)       0:02:14.365 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 17 March 2026  10:28:34 +0000 (0:00:01.353)       0:02:15.719 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 17 March 2026  10:28:34 +0000 (0:00:00.071)       0:02:15.791 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 17 March 2026  10:28:34 +0000 (0:00:00.410)       0:02:16.201 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Tuesday 17 March 2026  10:28:36 +0000 (0:00:01.875)       0:02:18.077 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Tuesday 17 March 2026  10:28:38 +0000 (0:00:01.627)       0:02:19.705 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 17 March 2026  10:28:48 +0000 (0:00:10.067)       0:02:29.772 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 17 March 2026  10:28:48 +0000 (0:00:00.069)       0:02:29.842 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 17 March 2026  10:28:48 +0000 (0:00:00.052)       0:02:29.895 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 17 March 2026  10:28:48 +0000 (0:00:00.045)       0:02:29.940 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 17 March 2026  10:28:48 +0000 (0:00:00.244)       0:02:30.185 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Tuesday 17 March 2026  10:28:50 +0000 (0:00:01.796)       0:02:31.981 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Tuesday 17 March 2026  10:28:51 +0000 (0:00:01.394)       0:02:33.375 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Tuesday 17 March 2026  10:28:53 +0000 (0:00:01.533)       0:02:34.908 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:28:56 +0000 (0:00:02.602)       0:02:37.511 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:28:56 +0000 (0:00:00.871)       0:02:38.382 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.200)       0:02:38.583 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.040)       0:02:38.624 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.200)       0:02:38.825 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.053)       0:02:38.878 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.302)       0:02:39.181 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.048)       0:02:39.230 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:28:57 +0000 (0:00:00.049)       0:02:39.279 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:28:58 +0000 (0:00:00.205)       0:02:39.485 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:28:59 +0000 (0:00:00.985)       0:02:40.471 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:28:59 +0000 (0:00:00.063)       0:02:40.534 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:28:59 +0000 (0:00:00.333)       0:02:40.868 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 17 March 2026  10:29:01 +0000 (0:00:01.922)       0:02:42.790 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 17 March 2026  10:29:01 +0000 (0:00:00.033)       0:02:42.824 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 17 March 2026  10:29:01 +0000 (0:00:00.032)       0:02:42.856 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 17 March 2026  10:29:01 +0000 (0:00:00.033)       0:02:42.890 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 17 March 2026  10:29:02 +0000 (0:00:01.120)       0:02:44.010 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 17 March 2026  10:29:02 +0000 (0:00:00.448)       0:02:44.459 *********",
                                "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] **********",
                                "Tuesday 17 March 2026  10:29:03 +0000 (0:00:00.915)       0:02:45.374 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 17 March 2026  10:29:04 +0000 (0:00:00.471)       0:02:45.846 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 17 March 2026  10:29:04 +0000 (0:00:00.014)       0:02:45.860 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:29:04 +0000 (0:00:00.352)       0:02:46.213 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:29:04 +0000 (0:00:00.195)       0:02:46.408 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:29:04 +0000 (0:00:00.052)       0:02:46.460 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:29:05 +0000 (0:00:00.324)       0:02:46.785 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 17 March 2026  10:29:08 +0000 (0:00:03.005)       0:02:49.791 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 17 March 2026  10:29:09 +0000 (0:00:00.994)       0:02:50.785 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 17 March 2026  10:29:09 +0000 (0:00:00.188)       0:02:50.973 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 17 March 2026  10:29:09 +0000 (0:00:00.407)       0:02:51.380 *********",
                                "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] ******",
                                "Tuesday 17 March 2026  10:29:10 +0000 (0:00:00.589)       0:02:51.970 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 17 March 2026  10:29:10 +0000 (0:00:00.413)       0:02:52.383 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 17 March 2026  10:29:11 +0000 (0:00:00.448)       0:02:52.832 *********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 17 March 2026  10:29:11 +0000 (0:00:00.015)       0:02:52.848 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 17 March 2026  10:29:11 +0000 (0:00:00.347)       0:02:53.196 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 17 March 2026  10:29:11 +0000 (0:00:00.054)       0:02:53.250 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 17 March 2026  10:29:12 +0000 (0:00:01.083)       0:02:54.333 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 17 March 2026  10:29:13 +0000 (0:00:00.675)       0:02:55.008 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 17 March 2026  10:29:13 +0000 (0:00:00.290)       0:02:55.298 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 17 March 2026  10:29:14 +0000 (0:00:00.194)       0:02:55.493 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 17 March 2026  10:29:14 +0000 (0:00:00.241)       0:02:55.734 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Tuesday 17 March 2026  10:29:14 +0000 (0:00:00.232)       0:02:55.967 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Tuesday 17 March 2026  10:29:14 +0000 (0:00:00.237)       0:02:56.204 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Tuesday 17 March 2026  10:29:14 +0000 (0:00:00.048)       0:02:56.253 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:05.301)       0:03:01.555 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:00.049)       0:03:01.604 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:00.068)       0:03:01.673 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:00.054)       0:03:01.727 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:00.046)       0:03:01.774 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 17 March 2026  10:29:20 +0000 (0:00:00.253)       0:03:02.027 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Tuesday 17 March 2026  10:29:22 +0000 (0:00:01.883)       0:03:03.911 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Tuesday 17 March 2026  10:29:22 +0000 (0:00:00.030)       0:03:03.941 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Tuesday 17 March 2026  10:29:22 +0000 (0:00:00.032)       0:03:03.973 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Tuesday 17 March 2026  10:29:27 +0000 (0:00:05.339)       0:03:09.313 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Tuesday 17 March 2026  10:29:37 +0000 (0:00:09.940)       0:03:19.253 *********",
                                "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] ****************************************",
                                "Tuesday 17 March 2026  10:30:58 +0000 (0:01:20.755)       0:04:40.009 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Tuesday 17 March 2026  10:31:00 +0000 (0:00:01.616)       0:04:41.625 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Tuesday 17 March 2026  10:31:01 +0000 (0:00:01.453)       0:04:43.079 *********",
                                "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] *********************************",
                                "Tuesday 17 March 2026  10:31:01 +0000 (0:00:00.075)       0:04:43.154 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Tuesday 17 March 2026  10:31:01 +0000 (0:00:00.053)       0:04:43.208 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Tuesday 17 March 2026  10:31:03 +0000 (0:00:01.537)       0:04:44.746 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Tuesday 17 March 2026  10:31:03 +0000 (0:00:00.060)       0:04:44.806 *********",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Tuesday 17 March 2026  10:31:03 +0000 (0:00:00.049)       0:04:44.856 *********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Tuesday 17 March 2026  10:31:03 +0000 (0:00:00.054)       0:04:44.910 *********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:31:03 +0000 (0:00:00.422)       0:04:45.332 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Tuesday 17 March 2026  10:31:04 +0000 (0:00:01.015)       0:04:46.347 *********",
                                "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] ***",
                                "Tuesday 17 March 2026  10:31:08 +0000 (0:00:04.010)       0:04:50.358 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Tuesday 17 March 2026  10:31:09 +0000 (0:00:00.190)       0:04:50.549 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Tuesday 17 March 2026  10:31:09 +0000 (0:00:00.488)       0:04:51.037 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 17 March 2026  10:31:09 +0000 (0:00:00.256)       0:04:51.294 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:31:09 +0000 (0:00:00.050)       0:04:51.344 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Tuesday 17 March 2026  10:31:10 +0000 (0:00:00.865)       0:04:52.209 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Tuesday 17 March 2026  10:31:10 +0000 (0:00:00.225)       0:04:52.435 *********",
                                "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] ****",
                                "Tuesday 17 March 2026  10:31:11 +0000 (0:00:00.943)       0:04:53.378 *********",
                                "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] *********",
                                "Tuesday 17 March 2026  10:31:12 +0000 (0:00:00.506)       0:04:53.885 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Tuesday 17 March 2026  10:31:12 +0000 (0:00:00.182)       0:04:54.067 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Tuesday 17 March 2026  10:31:12 +0000 (0:00:00.188)       0:04:54.255 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Tuesday 17 March 2026  10:31:12 +0000 (0:00:00.034)       0:04:54.290 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Tuesday 17 March 2026  10:31:12 +0000 (0:00:00.037)       0:04:54.327 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Tuesday 17 March 2026  10:31:13 +0000 (0:00:00.560)       0:04:54.888 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Tuesday 17 March 2026  10:31:13 +0000 (0:00:00.202)       0:04:55.091 *********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 17 March 2026  10:31:13 +0000 (0:00:00.061)       0:04:55.152 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:14 +0000 (0:00:00.925)       0:04:56.078 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:31:14 +0000 (0:00:00.211)       0:04:56.289 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 17 March 2026  10:31:14 +0000 (0:00:00.033)       0:04:56.322 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:15 +0000 (0:00:00.208)       0:04:56.531 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:31:15 +0000 (0:00:00.067)       0:04:56.598 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:15 +0000 (0:00:00.318)       0:04:56.917 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:15 +0000 (0:00:00.053)       0:04:56.970 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 17 March 2026  10:31:15 +0000 (0:00:00.219)       0:04:57.189 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:16 +0000 (0:00:01.027)       0:04:58.217 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:31:16 +0000 (0:00:00.065)       0:04:58.282 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:17 +0000 (0:00:00.348)       0:04:58.631 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 17 March 2026  10:31:19 +0000 (0:00:01.960)       0:05:00.591 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 17 March 2026  10:31:19 +0000 (0:00:00.030)       0:05:00.622 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 17 March 2026  10:31:19 +0000 (0:00:00.029)       0:05:00.651 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 17 March 2026  10:31:19 +0000 (0:00:00.030)       0:05:00.682 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 17 March 2026  10:31:20 +0000 (0:00:00.978)       0:05:01.661 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 17 March 2026  10:31:20 +0000 (0:00:00.454)       0:05:02.115 *********",
                                "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] **********",
                                "Tuesday 17 March 2026  10:31:21 +0000 (0:00:00.925)       0:05:03.040 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 17 March 2026  10:31:22 +0000 (0:00:00.486)       0:05:03.527 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 17 March 2026  10:31:22 +0000 (0:00:00.007)       0:05:03.534 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Tuesday 17 March 2026  10:31:22 +0000 (0:00:00.347)       0:05:03.882 *********",
                                "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] ***",
                                "Tuesday 17 March 2026  10:31:22 +0000 (0:00:00.574)       0:05:04.456 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.028)       0:05:04.484 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.034)       0:05:04.518 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.028)       0:05:04.547 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.032)       0:05:04.579 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.052)       0:05:04.632 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.220)       0:05:04.852 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:31:23 +0000 (0:00:00.035)       0:05:04.888 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:24 +0000 (0:00:00.921)       0:05:05.809 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:24 +0000 (0:00:00.040)       0:05:05.849 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:24 +0000 (0:00:00.206)       0:05:06.055 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:31:24 +0000 (0:00:00.042)       0:05:06.098 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:25 +0000 (0:00:00.995)       0:05:07.094 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 17 March 2026  10:31:25 +0000 (0:00:00.050)       0:05:07.144 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 17 March 2026  10:31:25 +0000 (0:00:00.033)       0:05:07.177 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 17 March 2026  10:31:25 +0000 (0:00:00.030)       0:05:07.208 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 17 March 2026  10:31:25 +0000 (0:00:00.032)       0:05:07.240 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 17 March 2026  10:31:26 +0000 (0:00:00.942)       0:05:08.182 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 17 March 2026  10:31:27 +0000 (0:00:00.434)       0:05:08.617 *********",
                                "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] **********",
                                "Tuesday 17 March 2026  10:31:28 +0000 (0:00:00.875)       0:05:09.493 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 17 March 2026  10:31:28 +0000 (0:00:00.459)       0:05:09.952 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 17 March 2026  10:31:28 +0000 (0:00:00.006)       0:05:09.959 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:28 +0000 (0:00:00.346)       0:05:10.305 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:29 +0000 (0:00:00.199)       0:05:10.505 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:31:29 +0000 (0:00:00.052)       0:05:10.557 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:29 +0000 (0:00:00.576)       0:05:11.134 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:31 +0000 (0:00:01.384)       0:05:12.519 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:31:31 +0000 (0:00:00.046)       0:05:12.566 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:31 +0000 (0:00:00.597)       0:05:13.163 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Tuesday 17 March 2026  10:31:33 +0000 (0:00:01.413)       0:05:14.576 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Tuesday 17 March 2026  10:31:33 +0000 (0:00:00.472)       0:05:15.049 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:33 +0000 (0:00:00.205)       0:05:15.254 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:34 +0000 (0:00:00.206)       0:05:15.461 *********",
                                "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] *******************",
                                "Tuesday 17 March 2026  10:31:34 +0000 (0:00:00.049)       0:05:15.510 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:34 +0000 (0:00:00.897)       0:05:16.408 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Tuesday 17 March 2026  10:31:37 +0000 (0:00:02.683)       0:05:19.092 *********",
                                "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] ***********",
                                "Tuesday 17 March 2026  10:31:37 +0000 (0:00:00.051)       0:05:19.143 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Tuesday 17 March 2026  10:31:38 +0000 (0:00:01.117)       0:05:20.261 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Tuesday 17 March 2026  10:31:38 +0000 (0:00:00.195)       0:05:20.456 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Tuesday 17 March 2026  10:31:39 +0000 (0:00:00.444)       0:05:20.901 *********",
                                "changed: [instance] => (item=br_netfilter)",
                                "ok: [instance] => (item=ip_tables)",
                                "changed: [instance] => (item=ip6_tables)",
                                "changed: [instance] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 17 March 2026  10:31:40 +0000 (0:00:00.750)       0:05:21.651 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 17 March 2026  10:31:40 +0000 (0:00:00.196)       0:05:21.848 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 17 March 2026  10:31:40 +0000 (0:00:00.041)       0:05:21.889 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 17 March 2026  10:31:41 +0000 (0:00:01.452)       0:05:23.342 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Tuesday 17 March 2026  10:31:41 +0000 (0:00:00.037)       0:05:23.380 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Tuesday 17 March 2026  10:31:41 +0000 (0:00:00.050)       0:05:23.430 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Tuesday 17 March 2026  10:31:41 +0000 (0:00:00.029)       0:05:23.460 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Tuesday 17 March 2026  10:31:45 +0000 (0:00:03.352)       0:05:26.812 *********",
                                "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] ***",
                                "Tuesday 17 March 2026  10:31:47 +0000 (0:00:02.254)       0:05:29.066 *********",
                                "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] ********",
                                "Tuesday 17 March 2026  10:31:48 +0000 (0:00:00.531)       0:05:29.598 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Tuesday 17 March 2026  10:31:48 +0000 (0:00:00.438)       0:05:30.037 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Tuesday 17 March 2026  10:31:49 +0000 (0:00:00.451)       0:05:30.488 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Tuesday 17 March 2026  10:31:49 +0000 (0:00:00.196)       0:05:30.685 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Tuesday 17 March 2026  10:31:49 +0000 (0:00:00.035)       0:05:30.720 *********",
                                "ok: [instance] => (item=swap)",
                                "ok: [instance] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Tuesday 17 March 2026  10:31:49 +0000 (0:00:00.487)       0:05:31.208 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Tuesday 17 March 2026  10:31:50 +0000 (0:00:00.444)       0:05:31.652 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Tuesday 17 March 2026  10:31:50 +0000 (0:00:00.574)       0:05:32.226 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Tuesday 17 March 2026  10:31:50 +0000 (0:00:00.008)       0:05:32.235 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Tuesday 17 March 2026  10:31:51 +0000 (0:00:00.760)       0:05:32.996 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Tuesday 17 March 2026  10:31:52 +0000 (0:00:00.573)       0:05:33.569 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Tuesday 17 March 2026  10:31:53 +0000 (0:00:00.997)       0:05:34.566 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Tuesday 17 March 2026  10:31:53 +0000 (0:00:00.739)       0:05:35.305 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.202)       0:05:35.508 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.446)       0:05:35.955 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.077)       0:05:36.032 *********",
                                "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] ***",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.075)       0:05:36.108 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.225)       0:05:36.333 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.041)       0:05:36.375 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Tuesday 17 March 2026  10:31:54 +0000 (0:00:00.053)       0:05:36.428 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"instance\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.036)       0:05:36.464 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.664)       0:05:37.129 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.038)       0:05:37.168 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.039)       0:05:37.207 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.031)       0:05:37.239 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.079)       0:05:37.318 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.034)       0:05:37.352 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.035)       0:05:37.387 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Tuesday 17 March 2026  10:31:55 +0000 (0:00:00.039)       0:05:37.427 *********",
                                "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.433530\", \"end\": \"2026-03-17 10:31:57.579848\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-03-17 10:31:56.146318\", \"stderr\": \"W0317 10:31:56.182008   37229 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: E0317 10:31:56.511633   37330 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-17T10:31:56Z\\\" 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: E0317 10:31:56.682042   37400 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-17T10:31:56Z\\\" 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: E0317 10:31:56.857537   37470 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-17T10:31:56Z\\\" 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: E0317 10:31:57.028538   37536 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-17T10:31:57Z\\\" 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: E0317 10:31:57.222407   37614 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-17T10:31:57Z\\\" 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: E0317 10:31:57.391048   37681 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-17T10:31:57Z\\\" 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: E0317 10:31:57.572675   37748 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-17T10:31:57Z\\\" 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\": [\"W0317 10:31:56.182008   37229 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: E0317 10:31:56.511633   37330 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-17T10:31:56Z\\\" 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: E0317 10:31:56.682042   37400 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-17T10:31:56Z\\\" 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: E0317 10:31:56.857537   37470 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-17T10:31:56Z\\\" 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: E0317 10:31:57.028538   37536 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-17T10:31:57Z\\\" 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: E0317 10:31:57.222407   37614 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-17T10:31:57Z\\\" 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: E0317 10:31:57.391048   37681 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-17T10:31:57Z\\\" 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: E0317 10:31:57.572675   37748 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-17T10:31:57Z\\\" 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=201  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2",
                                "",
                                "Tuesday 17 March 2026  10:31:57 +0000 (0:00:01.645)       0:05:39.072 *********",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 92.93s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 80.76s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.07s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.94s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.36s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.34s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.30s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.80s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.38s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 4.01s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.35s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.01s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.87s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.68s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.60s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 2.25s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.96s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.92s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.88s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.88s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "ERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-e201-2de2-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:31:58.302878Z",
                            "start": "2026-03-17T10:24:56.751150Z"
                        },
                        "id": "0242ac17-0011-e201-2de2-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2025.2",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-17T10:32:12.671715Z",
                    "start": "2026-03-17T10:32:01.851562Z"
                },
                "id": "0242ac17-0011-70dd-623f-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-70dd-623f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:02.240935Z",
                            "start": "2026-03-17T10:32:01.871710Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.119731",
                            "end": "2026-03-17 10:32:02.712317",
                            "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-70dd-623f-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:02.592586",
                            "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-70dd-623f-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:02.788280Z",
                            "start": "2026-03-17T10:32:02.269553Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/system /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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-70dd-623f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:03.440882Z",
                            "start": "2026-03-17T10:32:02.797055Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:03.910195Z",
                            "start": "2026-03-17T10:32:03.452383Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.075890",
                            "end": "2026-03-17 10:32:04.219464",
                            "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-70dd-623f-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:04.143574",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0317 10:32:04.208230   37849 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\nE0317 10:32:04.209120   37849 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\nE0317 10:32:04.211046   37849 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\nE0317 10:32:04.212134   37849 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\nE0317 10:32:04.212906   37849 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": [
                                "E0317 10:32:04.208230   37849 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",
                                "E0317 10:32:04.209120   37849 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",
                                "E0317 10:32:04.211046   37849 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",
                                "E0317 10:32:04.212134   37849 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",
                                "E0317 10:32:04.212906   37849 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-70dd-623f-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:04.454205Z",
                            "start": "2026-03-17T10:32:03.940056Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/helm /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/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-70dd-623f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:04.954700Z",
                            "start": "2026-03-17T10:32:04.462583Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:05.187778Z",
                            "start": "2026-03-17T10:32:04.966034Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.234991",
                            "end": "2026-03-17 10:32:05.680520",
                            "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-70dd-623f-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:05.445529",
                            "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\nE0317 10:32:05.514366   37897 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\nE0317 10:32:05.519554   37897 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\nE0317 10:32:05.520407   37897 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\nE0317 10:32:05.522521   37897 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\nE0317 10:32:05.522925   37897 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?\nE0317 10:32:05.533557   37900 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\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0317 10:32:05.534369   37900 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\nE0317 10:32:05.536387   37900 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\nE0317 10:32:05.537370   37900 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\nE0317 10:32:05.538582   37900 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\nE0317 10:32:05.585939   37926 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\nE0317 10:32:05.586785   37926 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\nE0317 10:32:05.588603   37926 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\nE0317 10:32:05.589362   37926 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\nE0317 10:32:05.591193   37926 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\nE0317 10:32:05.612088   37936 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\nE0317 10:32:05.613297   37936 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\nE0317 10:32:05.614161   37936 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\nE0317 10:32:05.616106   37936 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\nE0317 10:32:05.616634   37936 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?\nE0317 10:32:05.667080   37954 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\nE0317 10:32:05.669193   37954 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\nE0317 10:32:05.669882   37954 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\nE0317 10:32:05.671542   37954 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\nE0317 10:32:05.672124   37954 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",
                                "E0317 10:32:05.514366   37897 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",
                                "E0317 10:32:05.519554   37897 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",
                                "E0317 10:32:05.520407   37897 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",
                                "E0317 10:32:05.522521   37897 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",
                                "E0317 10:32:05.522925   37897 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?",
                                "E0317 10:32:05.533557   37900 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",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0317 10:32:05.534369   37900 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",
                                "E0317 10:32:05.536387   37900 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",
                                "E0317 10:32:05.537370   37900 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",
                                "E0317 10:32:05.538582   37900 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",
                                "E0317 10:32:05.585939   37926 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",
                                "E0317 10:32:05.586785   37926 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",
                                "E0317 10:32:05.588603   37926 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",
                                "E0317 10:32:05.589362   37926 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",
                                "E0317 10:32:05.591193   37926 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",
                                "E0317 10:32:05.612088   37936 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",
                                "E0317 10:32:05.613297   37936 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",
                                "E0317 10:32:05.614161   37936 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",
                                "E0317 10:32:05.616106   37936 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",
                                "E0317 10:32:05.616634   37936 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?",
                                "E0317 10:32:05.667080   37954 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",
                                "E0317 10:32:05.669193   37954 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",
                                "E0317 10:32:05.669882   37954 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",
                                "E0317 10:32:05.671542   37954 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",
                                "E0317 10:32:05.672124   37954 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-70dd-623f-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:05.758563Z",
                            "start": "2026-03-17T10:32:05.235217Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:06.002947Z",
                            "start": "2026-03-17T10:32:05.764163Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.072163",
                            "end": "2026-03-17 10:32:06.342688",
                            "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-70dd-623f-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:06.270525",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\n\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0317 10:32:06.331672   37996 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\nE0317 10:32:06.332189   37996 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\nE0317 10:32:06.334188   37996 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\nE0317 10:32:06.334946   37996 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\nE0317 10:32:06.336506   37996 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: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: 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",
                                "E0317 10:32:06.331672   37996 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",
                                "E0317 10:32:06.332189   37996 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",
                                "E0317 10:32:06.334188   37996 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",
                                "E0317 10:32:06.334946   37996 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",
                                "E0317 10:32:06.336506   37996 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-70dd-623f-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:06.582918Z",
                            "start": "2026-03-17T10:32:06.064894Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/objects /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/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-70dd-623f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:07.217983Z",
                            "start": "2026-03-17T10:32:06.590055Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:07.452188Z",
                            "start": "2026-03-17T10:32:07.230020Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:07.717431Z",
                            "start": "2026-03-17T10:32:07.458215Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.081997",
                            "end": "2026-03-17 10:32:08.061825",
                            "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-70dd-623f-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:07.979828",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0317 10:32:08.049316   38046 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\nE0317 10:32:08.050086   38046 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\nE0317 10:32:08.051994   38046 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\nE0317 10:32:08.052642   38046 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\nE0317 10:32:08.054741   38046 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": [
                                "E0317 10:32:08.049316   38046 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",
                                "E0317 10:32:08.050086   38046 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",
                                "E0317 10:32:08.051994   38046 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",
                                "E0317 10:32:08.052642   38046 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",
                                "E0317 10:32:08.054741   38046 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-70dd-623f-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:08.254636Z",
                            "start": "2026-03-17T10:32:07.741067Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/pod-logs /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/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-70dd-623f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:08.768671Z",
                            "start": "2026-03-17T10:32:08.259281Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:08.989879Z",
                            "start": "2026-03-17T10:32:08.782106Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.073608",
                            "end": "2026-03-17 10:32:09.296064",
                            "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-70dd-623f-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:09.222456",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0317 10:32:09.285009   38088 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\nE0317 10:32:09.286004   38088 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\nE0317 10:32:09.288181   38088 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\nE0317 10:32:09.288779   38088 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\nE0317 10:32:09.290572   38088 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": [
                                "E0317 10:32:09.285009   38088 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",
                                "E0317 10:32:09.286004   38088 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",
                                "E0317 10:32:09.288181   38088 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",
                                "E0317 10:32:09.288779   38088 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",
                                "E0317 10:32:09.290572   38088 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-70dd-623f-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:09.535044Z",
                            "start": "2026-03-17T10:32:09.015925Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.077982",
                            "end": "2026-03-17 10:32:09.877066",
                            "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-70dd-623f-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:09.799084",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0317 10:32:09.866644   38110 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\nE0317 10:32:09.867587   38110 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\nE0317 10:32:09.869041   38110 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\nE0317 10:32:09.869693   38110 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\nE0317 10:32:09.871630   38110 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": [
                                "E0317 10:32:09.866644   38110 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",
                                "E0317 10:32:09.867587   38110 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",
                                "E0317 10:32:09.869041   38110 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",
                                "E0317 10:32:09.869693   38110 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",
                                "E0317 10:32:09.871630   38110 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-70dd-623f-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:10.079164Z",
                            "start": "2026-03-17T10:32:09.564000Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.075053",
                            "end": "2026-03-17 10:32:10.400550",
                            "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-70dd-623f-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-17 10:32:10.325497",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0317 10:32:10.390007   38132 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\nE0317 10:32:10.390476   38132 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\nE0317 10:32:10.392472   38132 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\nE0317 10:32:10.393356   38132 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\nE0317 10:32:10.395750   38132 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": [
                                "E0317 10:32:10.390007   38132 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",
                                "E0317 10:32:10.390476   38132 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",
                                "E0317 10:32:10.392472   38132 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",
                                "E0317 10:32:10.393356   38132 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",
                                "E0317 10:32:10.395750   38132 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-70dd-623f-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:10.638074Z",
                            "start": "2026-03-17T10:32:10.114363Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/prometheus /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/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-70dd-623f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:11.184429Z",
                            "start": "2026-03-17T10:32:10.644636Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-70dd-623f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:11.389231Z",
                            "start": "2026-03-17T10:32:11.194142Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.007649",
                            "end": "2026-03-17 10:32:11.634801",
                            "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-70dd-623f-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-03-17 10:32:11.627152",
                            "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-70dd-623f-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-70dd-623f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:11.952372Z",
                            "start": "2026-03-17T10:32:11.417638Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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.204.45.238:/tmp/logs/selenium /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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.204.45.238:/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-70dd-623f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:12.671715Z",
                            "start": "2026-03-17T10:32:11.959587Z"
                        },
                        "id": "0242ac17-0011-70dd-623f-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-17T10:32:17.434042Z",
                    "start": "2026-03-17T10:32:13.621517Z"
                },
                "id": "0242ac17-0011-3d72-6366-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-3d72-6366-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:13.681406Z",
                            "start": "2026-03-17T10:32:13.635886Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3d72-6366-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:13.734784Z",
                            "start": "2026-03-17T10:32:13.692374Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-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/b253d34f6b704ea990984eb612761079/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3d72-6366-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:14.672876Z",
                            "start": "2026-03-17T10:32:13.740796Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-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.204.45.238:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.238:/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/b253d34f6b704ea990984eb612761079/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.238:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.238:/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/b253d34f6b704ea990984eb612761079/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.238:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.238:/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/b253d34f6b704ea990984eb612761079/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3d72-6366-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:16.370571Z",
                            "start": "2026-03-17T10:32:14.682410Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/artifacts/* /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008335",
                                    "end": "2026-03-17 10:32:17.069744",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/artifacts/* /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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-17 10:32:17.061409",
                                    "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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/docs/* /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.005831",
                                    "end": "2026-03-17 10:32:17.361625",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/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/b253d34f6b704ea990984eb612761079/work/docs/* /var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/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-17 10:32:17.355794",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-3d72-6366-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:17.434042Z",
                            "start": "2026-03-17T10:32:16.392644Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-03-17T10:32:17.875738Z",
                    "start": "2026-03-17T10:32:17.450027Z"
                },
                "id": "0242ac17-0011-3d72-6366-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC36X1OKb55elEh4yxGFS4mdv8JGvdKhhARYja5x5I0JNQw2RqTtfORfKoLqaX4/ZYgpNO1ESOi+xtjrnu+EYYZH8cfAiiXCAxU3/rQeW5xBZIdNC2DGuCw89b7hzNrkXufrp9oDfCtuLEvRWkBjV64efDxEJ2BcNDPLP4/aMkbatME1Yv83O6m7r7IQ8Kgyv45hNTj73qeOjHgqQsH5yxRCmMMNAcaLFZOGZdgZBm5dgQ7/3X2kQAoVSFeb1Up+mSaGoPwHV/kMW19mzrHHRSMJJWeROpqnaanyv1gqY7gLWWQnZc9Mkw5Cj+48EAc818M1OMzpynCWJpKwIb6fsVP6SERl4DajQSV9gVxf14tzfpTnZ/KuyZTUFrW34/X/mpLXf/aiYWXXLMOSgYaazllvnlbltX9qexnS0fwjIAkGA5QdMwiFKxjT0yYcTNWL/xRd/7NrNEDJn2Wyt6nRMv0u7hunndeTNPlot4jkCcUN0dORB3x4Il2GFpm8KYWbL8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC36X1OKb55elEh4yxGFS4mdv8JGvdKhhARYja5x5I0JNQw2RqTtfORfKoLqaX4/ZYgpNO1ESOi+xtjrnu+EYYZH8cfAiiXCAxU3/rQeW5xBZIdNC2DGuCw89b7hzNrkXufrp9oDfCtuLEvRWkBjV64efDxEJ2BcNDPLP4/aMkbatME1Yv83O6m7r7IQ8Kgyv45hNTj73qeOjHgqQsH5yxRCmMMNAcaLFZOGZdgZBm5dgQ7/3X2kQAoVSFeb1Up+mSaGoPwHV/kMW19mzrHHRSMJJWeROpqnaanyv1gqY7gLWWQnZc9Mkw5Cj+48EAc818M1OMzpynCWJpKwIb6fsVP6SERl4DajQSV9gVxf14tzfpTnZ/KuyZTUFrW34/X/mpLXf/aiYWXXLMOSgYaazllvnlbltX9qexnS0fwjIAkGA5QdMwiFKxjT0yYcTNWL/xRd/7NrNEDJn2Wyt6nRMv0u7hunndeTNPlot4jkCcUN0dORB3x4Il2GFpm8KYWbL8= 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-3d72-6366-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/b253d34f6b704ea990984eb612761079/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-17T10:32:17.875738Z",
                            "start": "2026-03-17T10:32:17.456761Z"
                        },
                        "id": "0242ac17-0011-3d72-6366-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
}
]
